问题求助
请问#include<stdio.h>
#include<math.h>
int main()
{
int x,y,m;
printf("x y = ");
scanf("%d %d",&x,&y);
for(m =1;m<=100;m++)
{
if(((int)pow(x,m)%1000) == ((int)pow(y,m)%1000)) printf("m = %d\n",m);
}
return 0;
}为什么会出现以下结果:
x y = 56 78
m = 6
m = 7
m = 8
m = 9
m = 10
m = 11
m = 12
m = 13
m = 14
m = 15
m = 16
m = 17
m = 18
m = 19
m = 20
m = 21
...
我本来想找出一个数m,使xm的末三位等于ym的末三位
你循环语句m和输出m应该重复了 在输出后面加一个break;找到数字后跳出循环、 你的数据太大,应该是溢出了。你可以printf打印出来看看你的数值。
页:
[1]