题解 | #水仙花数#

水仙花数

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

#include <cmath>
#include <cstdio>
#include <iostream>
using namespace std;

int  choosemax(int a, int b) {
    if (a < b)  return b;
    else  return a;
}
int  choosemin(int a, int b) {
    if (a < b)  return a;
    else  return b;
}

int main() {
    int a, b, low, high, m, n, k;
    int flag = 0;
    while (cin >> a >> b) {  //多组输入示例
        high = choosemax(a, b);
        low = choosemin(a, b);
        for (int i = low; i <= high; i++) {
            m = i / 100;
            n = i % 100 / 10;
            k = i % 10;
            if (i == pow(m, 3) + pow(k, 3) + pow(n, 3)) {
                printf("%d ", i);
                flag = 1;
            }

        }
        if (flag == 0) printf("no\n");
    }
}
// 64 位输出请用 printf("%lld")

全部评论

相关推荐

不愿透露姓名的神秘牛友
07-08 14:08
点赞 评论 收藏
分享
评论
1
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务