题目描述:
从键盘输入一个自然数K(K>1),若存在自然数M和N(M>N),使得K^M和K^N均大于或等于1000,切=且它们的末尾三位数相等,则称M和N是一对“K尾相等数”。请编一程序,输出M+N值最小的K尾相等数。
#include<stdio.h>
#include<math.h>
int main(){
int num,ha,sum,n=1,m,i;
scanf("%ld",&num);
sum=num;
while(sum<1000){
n++;
sum=pow(sum,n);
}
sum=sum%1000;
ha=num%1000;
num=sum;
m=n;
do{
num*=ha;
num%=1000;
m++;
}while(num!=sum);
printf("%d",n+m);
return 0;
}