有没有给说说这是什么意思

稗覅赞日 2019-05-19 10:53:41
#include<iostream> #include<cstdio> #include<cstring> #include<cstdlib> using namespace std; long long quicks(long long a, long long b, long long c) { long long ans = 1; a = a%c; while (b != 0) { if (b & 1) ans = (ans*a) % c; b >>= 1; a = (a*a) % c; } return ans; } bool Miller_Rabin_1(long long n) { long long t = 0; long long b = n - 1; while ((b & 1) == 0) { t++; b >>= 1; } long long a = 11; long long x = quicks(a, b, n); for (long long i = 1; i <= t; i++) { long long y = quicks(x, 2, n); if (y == 1 && x != 1 && x != n - 1) return false; x = y; } if (x != 1) return false; else return true; } int main() { int n; cin >> n; if (n == 1) return 0; if (Miller_Rabin_1(n)) printf("素数\n"); else printf("合数\n"); return 0; }
...全文
8 1 打赏 收藏 转发到动态 举报
写回复
用AI写文章
1 条回复
切换为时间正序
请发表友善的回复…
发表回复
稗覅赞日 2019-05-19
  • 打赏
  • 举报
回复
就是为什么这么做 我只知道这是在判断素数

69,371

社区成员

发帖
与我相关
我的任务
社区描述
C语言相关问题讨论
社区管理员
  • C语言
  • 花神庙码农
  • 架构师李肯
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧