求解答这个C的编程题

2025-02-22 21:55:22
推荐回答(2个)
回答1:

#include 
int f(int n, int e)
{
int a, k = 1;
n %= e;
for(a=n*n; a!=n; a=(a*n)%e)
    k++;
return k;
}
int main()
{
int n;
scanf("%d", &n);
printf("%d\n%d", f(n, 10), f(n, 100));
}

回答2:

由于你限定了最多两位,所以循环计算0-99就好啦,两位数最多计算99次。代码你自己练习比较有效果。想练有答案的题可以去类似于poj.org网站去练。
直接全遍历就搞定了
这题如果位数多成十几位或者更多会困难的多