题解 | #水仙花数#

水仙花数

https://www.nowcoder.com/practice/dc943274e8254a9eb074298fb2084703

//整数m和n(100 ≤ m ≤ n ≤ 999)间是否存在水仙花数
//(i%10):i的个位的数
//(i/10%10):i的十位的数
//(i/100%10):i的百位的数
//这题i最大999,i的百位的数可=(i/100)
#include <stdio.h>
#include <math.h>
int main() 
{
    int m = 0, n = 0;
    while(scanf("%d %d", &m, &n) != EOF)
    {
        int x = 0;//标记是否存在水仙花数
        int i = 0;
        for(i=m; i<=n; i++)
        {
            // int a = (i%10)*(i%10)*(i%10)+
            //     (i/10%10)*(i/10%10)*(i/10%10)+
            //     (i/100)*(i/100)*(i/100);
            //可用幂函数
            int a = pow(i%10,3)+pow(i/10%10,3)+pow(i/100,3);
            if(a == i)
            {
                printf("%d ", i);
                x = 1;
            }
        }
        if(x == 0)//m-n间不存在水仙花数
        {
            printf("no");
        }
        printf("\n");//换行
    }
    
    return 0;
}

全部评论

相关推荐

玉无心❤️:发照片干啥 发简历啊
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客企业服务