信息安全数学基础课程-相关计算题代码
来源:互联网 发布:如何用ps做淘宝详情页 编辑:程序博客网 时间:2024/05/09 09:26
广义欧几里得(列表法):
#include<iostream>#include<cstdio>#include<cmath>#include<map>#include<cstring>#include<algorithm>using namespace std;int main(){ int a,b,c,d,e,f,g; while(~scanf("%d%d",&a,&b)) { c=0,d=1;e=1,f=0,g=1; printf(" %d %d %d %d\n",a,b,e,f); while(b) { int n=a/b; int h=b; int i=a%b; int j=e-n*c; int k=f-n*d; g=n,e=c;f=d;c=j,d=k,a=h,b=i; printf("%d %d %d %d %d\n",g,a,b,e,f); } } return 0;}
模重复平方法:
#include<iostream>#include<cstdio>#include<cmath>#include<map>#include<cstring>#include<algorithm>using namespace std;int main()//2 251 503{ int c,k,m,d; cout<<"模重复平方法:分别输入底数a,幂k,模m"<<endl; while(~scanf("%d%d%d",&c,&k,&m)) { int i=0,a=1,b=c; printf("设a=%d b0=%d\n",a,b); while(k>=(1<<i)) { if(k&(1<<i))a=a*b%m; b=(b*b)%m; if(i&&k&(1<<i))printf("(%d)x%d=%d\n\ta%d=a%d*b%d=%d,b%d=sqrt(b%d)=%d\n",i+1,i,k&(1<<i),i,i-1,i,a,i+1,i,b); else if(i)printf("(%d)x%d=%d\n\ta%d=a%d=%d,b%d=sqrt(b%d)=%d\n",i+1,i,k&(1<<i)>0,i,i-1,a,i+1,i,b); else if(k&(1<<i))printf("(%d)x%d=%d\n\ta%d=a*b%d=%d,b%d=sqrt(b%d)=%d\n",i+1,i,k&(1<<i),i,i,a,i+1,i,b); else printf("(%d)x%d=%d\n\ta%d=a=%d,b%d=sqrt(b%d)=%d\n",i+1,i,k&(1<<i)>0,i,a,i+1,i,b); i++; } } return 0;}
0 0
- 信息安全数学基础课程-相关计算题代码
- 一道SAT数学计算题
- 操作系统的相关计算题
- 实现一个简单的数学计算题
- 简单的数学计算题(二)
- 与CPU相关的计算题
- 计算题
- 计算题
- 计算题
- 计算题
- 计算题
- 计算题
- 计算题
- 计算题
- 计算题
- 计算题
- 计算题
- 计算题
- 请问@Override是什么意思
- Android 获取图片信息
- linux学习之十二---exit(0)&exit(1)&return
- ASCII码转字符串
- 求最大公约数
- 信息安全数学基础课程-相关计算题代码
- 【Codevs】(糟糕透顶的图论系列)2039骑马修栏
- Spinner与Switch
- 宏汇编macro
- 久久未至的Codevs1024一塔湖图解题报告
- 自定义ImageView实现单点缩放回弹、拖拽、多点缩放功能
- android如何获取签名
- Linux的基本命令
- 【最小生成树】Codevs2455繁忙的都市