密码学 二元法求模指数运算 c语言

2019-04-13 14:20发布

为了完成 密码学 作业写的,二分法用代码实现是很简单的,建议根据书上步骤,尝试自己写一下哟。可以再自己进行修改,让这个代码可以只要通过输入一个十进制数字,就能转换为二进制,并且完成幂模运算。如果复制过去报错可能是空格问题,把空格全部删除试试吧。。。  
#include
#include
#include
#include
using namespace std;
int main()
{
   int a[20]={1,1,0,1};int n;
    int N,m,c,i,t,w=1;     cout<<"请输入c和N:";
    cin>>c>>N;
    for(i=0; i<4; i++)
    {
        if(a[i]==1)
        {
            t=(w*w)%N;
            m=(t*c)%N;
            w=m;
        }
        else
        {
            t=(w*w)%N;
            w=t;
        }
    }
    cout<     return 0;
}