Fc原 发表于 2020-7-22 19:01:43

求水仙花数出问题

本帖最后由 Fc原 于 2020-7-22 19:18 编辑

#include <stdio.h>
#include <stdlib.h>
#include <math.h>

int main()
{

    int n=3;
    int a,b,c,d;
    int r;
    a=b=1;
    c=9;
    for(a=1; a<n; a++)
    {
      b=b*10;
      c=9+10*c;
    }
    d=b;
    int sum=0;
    int y=0;//   y是每个位上的数
    for(d; d<=c; d++)
    {
      r=d;
      do
      {
            y=r%10;
            sum+=pow(y,3);
            r/=10;
      }while(r>0);
      if(sum==d)
      {
            printf("%d\n",sum);
      }
      sum=0;
    }
}


代码中 用pow函数取三次方时只有5的三次方是124,其他的都是正确的,请问是哪里出了问题求高人指点    执行结果是370371407只缺了153
ps:用的是codeblocks

zltzlt 发表于 2020-7-22 19:03:51

发一下你的执行结果上来看看?

Fc原 发表于 2020-7-22 19:13:26

执行结果是370371407只缺了153

zltzlt 发表于 2020-7-22 19:24:44

Fc原 发表于 2020-7-22 19:13
执行结果是370371407只缺了153

我这里没问题呀,应该是你编译器的问题,多试几次看看

Fc原 发表于 2020-7-22 19:32:54

zltzlt 发表于 2020-7-22 19:24
我这里没问题呀,应该是你编译器的问题,多试几次看看

好的谢谢我再试试吧我也是看不出问题但是运行就是结果不对
页: [1]
查看完整版本: 求水仙花数出问题