大佬帮忙看一下哪里有问题。
2023-07-14 20:14:30
发布于:广东
32阅读
0回复
0点赞
正确率只有10%
#include <iostream>
#include <set>
using namespace std;
int findCycleLength(int n, int k) {
int base = 10; // 基数为10
int cycleLength = 0;
set<int> seen;
for (int i = 0; i < k * 2; i++) {
if (seen.count(n)) {
return cycleLength;
}
seen.insert(n);
n = (n * n) % base; // 计算n的当前次幂的最后k位数
cycleLength++;
}
return -1; // 如果循环不存在,返回-1
}
int main() {
int n, k;
cin >> n >> k;
int cycleLength = findCycleLength(n, k);
cout << cycleLength << endl;
return 0;
}
全部评论 2
如果真的不会,可以暴力破解,得30分
2023-11-08 来自 浙江
0加油
2023-09-30 来自 北京
0
有帮助,赞一个