鱼C论坛

 找回密码
 立即注册
查看: 2205|回复: 3

问题求助

[复制链接]
发表于 2019-10-4 11:32:27 | 显示全部楼层 |阅读模式
1鱼币
请问
  1. #include<stdio.h>
  2. #include<math.h>

  3. int main()
  4. {
  5.     int x,y,m;
  6.     printf("x y = ");
  7.     scanf("%d %d",&x,&y);
  8.     for(m =1;m<=100;m++)
  9.     {
  10.         if(((int)pow(x,m)%1000) == ((int)pow(y,m)%1000)) printf("m = %d\n",m);
  11.     }
  12.     return 0;
  13. }
复制代码
为什么会出现以下结果:
  1. x y = 56 78
  2. m = 6
  3. m = 7
  4. m = 8
  5. m = 9
  6. m = 10
  7. m = 11
  8. m = 12
  9. m = 13
  10. m = 14
  11. m = 15
  12. m = 16
  13. m = 17
  14. m = 18
  15. m = 19
  16. m = 20
  17. m = 21
  18. ...
复制代码
我本来想找出一个数m,使xm的末三位等于ym的末三位

想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2019-10-4 12:03:32 | 显示全部楼层
你循环语句m和输出m应该重复了
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2019-10-4 16:36:44 | 显示全部楼层
在输出后面加一个break;找到数字后跳出循环、
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2019-10-4 19:24:15 | 显示全部楼层
你的数据太大,应该是溢出了。你可以printf打印出来看看你的数值。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-4-27 16:43

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表