C语言调用函数求解水仙花数

输入两个正整数m和n,调用函数按从小到大的顺序输出给定区间[m,n]内所有的水仙花数。
题目如图所示

img


#include <stdio.h>
int fib(int m);
int main()
{
    int n,m,i;
    scanf("%d%d",&m,&n);
    for(i=m;i<n;i++)
        if(fib(i))
            printf("%d ",fib(i));
    return 0;
}
int fib(int i)
{
    int s=0,a,copy;
    copy=i;
    do{
    a=i%10;
    i/=10;
    s+=a*a*a;
    }while(i);
if(s==copy)return s;
return 0;
}



#include <stdio.h>
int Narnumber(int n)
{
    int a = n/100;
    int b = n/10%10;
    int c = n%10;
    if(a*a*a + b*b*b + c*c*c == n)
        return 1;
    return 0;
}

int main()
{
      int m,n,i;
      scanf("%d%d",&m,&n);
      for(i=m;i<=n;i++)
          if(Narnumber(i) == 1)
              printf("%d ",i);
      return 0;
}

您好,我是有问必答小助手,您的问题已经有小伙伴帮您解答,感谢您对有问必答的支持与关注!
PS:问答VIP年卡 【限时加赠:IT技术图书免费领】,了解详情>>> https://vip.csdn.net/askvip?utm_source=1146287632