模重复平方计数法的C++实现
来源:互联网 发布:python ldap 编辑:程序博客网 时间:2024/06/06 08:43
/** @author Novicer* language : C++/C*/#include<iostream>#include<sstream>#include<fstream>#include<vector>#include<list>#include<deque>#include<queue>#include<stack>#include<map>#include<set>#include<bitset>#include<algorithm>#include<cstdio>#include<cstdlib>#include<cstring>#include<cctype>#include<cmath>#include<ctime>#include<iomanip>using namespace std;const double eps(1e-8);typedef long long lint;lint b,n,m;int main(){ cout << "模重复平方计数法" << endl; cout << "Author : Novicer and you" << endl; cout << "ver : 0.1" << endl; while(1){ cout << "输入 b^n(mod m) 中b , n , m值,空格分割,回车结束" << endl; cin >> b >> n >> m; lint b_begin = b; lint n_begin = n; lint i = 0; lint a = 1; int n_2 ; cout << "计算过程如下:(式中“==”符号即恒等符号)" << endl; cout << "a = " << a << ", b = b0 = " << b << endl; if(n == 0) printf("ans = 1\n"); while(n){ if(n & 1){ a = (a * b) % m; n_2 = 1; } else{ n_2 = 0; } b = (b * b) % m; n >>= 1; cout << "n" << i << " = " << n_2 << ", "; cout << "a" << i << " == " << a << ", "; cout << "b" << i + 1 << " == " << "b" << i << "^2" << " == " << b << "(mod " << m << ")" << endl; i++; } cout << "ans = " << a << endl; printf("即: %lld^%lld == %lld(mod %lld)\n",b_begin,n_begin,a,m); } return 0;}
0 0
- 模重复平方计数法的C++实现
- RSA模重复平方法
- 模重复平方算法
- 模重复平方计算
- 模重复平方算法
- 模重复平方计算法
- 模重复平方计算法
- 用模重复平方法求b^n mod m
- 计数排序的C语言实现
- 模重复平方计算法(快速幂)【Python实现】<信安数论>
- 计数排序C实现
- 重复的选择算法 selection(计数法)
- C现代实现 求偶数平方
- 完全平方数(C语言实现)
- 北航13年机试--十进制数字的科学计数法表示的C语言实现
- Jam的计数法(C++)
- C实现 显示重复的数字
- 计数排序c/c++实现
- UVA - 10883 Supermean
- android TV app开发-准备环境,打开adb
- notepad++下编译c
- 计算机类论文在哪里投稿?
- Java文件下载详解
- 模重复平方计数法的C++实现
- andriod API22
- void 与泛型计算
- 二分匹配建模
- 大数据分析:机器学习算法实现的演化
- 第二章第一题
- 在LoadRunner中录制下载文件
- Android在CMD中输入adb命令,提示“'adb' 不是内部或外部命令,也不是可运行的程序”的解决方法
- 广义欧几里得除法求sa+tb=(a,b)