调用函数,判断各位数字立方和是否等于它本身

139 阅读1分钟

Description
自定义函数is(number)判断number的各位数字立方和是否等于它本身,如is(121)返回值0,is(153)返回值1。 主函数输入两个正整数m和n(m>=1, n<=1000),输出m-n之间的所有满足各位数字和等于它本身的数。

Input
多组测试数据,每组输入两个正整数m和n(m>=1, n<=1000)。

Output
输出m-n之间的所有满足各位数字立方和等于它本身的数,空格隔开(最后一个数后无空格)。

Sample Input
1 100
50 200
50 500
Sample Output
1
153
153 370 371 407

#include<stdio.h>
#include<math.h>
int is(int number)
{
    int s,sum=0;
    while(number!=0)
    {
        s=number%10;//不断取余,直至为0
        sum+=pow(s,3);
        number=number/10;//不断去尾,直至为0
    }
    return sum;
}
int main(void)
{
    int m,n,k,flag;
    while(scanf("%d%d",&m,&n)!=EOF)
    {
        flag=1;
        for(k=m;k<=n;k++)
        {
            if(k==is(k))
            {
                if(flag!=0)
                    {
                        printf("%d",k);
                        flag=0;
                    }
                    else
                    printf(" %d",k);
            }
        }
        printf("\n");
    }
    return 0;
}