鱼C论坛

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

问题求助

[复制链接]
发表于 2019-10-4 11:32:27 | 显示全部楼层 |阅读模式
1鱼币
请问
#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的末三位

想知道小甲鱼最近在做啥?请访问 -> 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, 2025-1-16 17:07

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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