[C++] 纯文本查看 复制代码 #include <iostream>
using namespace std;
bool check(int n);
int main()
{
int j = 0;
for (int i = 0; i <= 10000; i++) {
j = 10000 - i;
if (check(j) == true) {
cout<< j;
break;
}
}
}
bool check(int n) {
int q = 1, w = 2, p = n;
while(p > 0) {
if ((p % 2) != 0) {
q = q * w % n;
}
w = w * w % n;
p = p / 2;
}
if ((q - 2) % n == 0) {
return true;
}
else {
return false;
}
}
别问我为什么来写C++了,因为Rust的生命周期快把我弄死了。。
这个算法虽然在数学上不成立,但是我认为这里投机取巧应该问题不大。虽然我代码写的稀烂
参考了快速幂取模,用了啥算法你猜 .
另外我目前没办法编译并添加计时的东西,等会儿有机会加。
|