C++实现水仙花数的判断

前言

马上就要熄灯了,写个水仙花数,写完就去洗澡。

题目

求一个数是不是水仙花数或输出某一范围[n,m]内所有的水仙花数。

水仙花数是指一个 3 位数,它的每个位上的数字的 3次幂之和等于它本身(例如:1^3 + 5^3+ 3^3 = 153)

输入格式:

在一行输入一个数

输出格式:

要求输出YES或NO

输入样例:

在这里给出一组输入。例如:
370

输出样例:

在这里给出相应的输出。例如:

YES

实现

求一个数是不是水仙花数

#include <iostream>
#include "stdlib.h"
#include "math.h"
using namespace std;

int main()
{
    cout<<"请输入一个三位的数字"<<endl;
    int n;
    scanf("%d",&n);
    int hundred=n/100;
    int ten=n%100/10;
    int one=n%10;
    cout<<((pow(one,3)+pow(ten,3)+pow(hundred,3))==n?"YES":"NO");
    return 0;
}

测试结果:

 

输出某一范围[n,m]内所有的水仙花数。

#include <iostream>
#include "stdlib.h"
#include "math.h"
using namespace std;

int main()
{
    cout<<"请输入范围[n,m]"<<endl;
    int n;
    int m;
    scanf("%d %d",&n,&m);
    do
    {
        int hundred=n/100;
        int ten=n%100/10;
        int one=n%10;
        if (pow(one,3)+pow(ten,3)+pow(hundred,3)==n)
        {
            cout<<n<<endl;
        }
        n++;
        if (n>m)
        {
            break;
        }
        
    } while (1);
    
    
    return 0;
}

 测试结果:

Python实现

题目 求某一范围[n,m]内所有的水仙花数。 水仙花数是指一个 3 位数,它的每个位上的数字的 3次幂之和……
2022-10-09
作者:Miracle
来源:麦瑞克博客
链接:https://www.unitymake.com/archives/programming-life/cpp/2085
本博客所有文章除特别声明外,均采用CC BY-NC-SA 4.0许可协议,转载请注明!
THE END
分享
打赏
海报
C++实现水仙花数的判断
前言 马上就要熄灯了,写个水仙花数,写完就去洗澡。 题目 求一个数是不是水仙花数或输出某一范围[n,m]内所有的水仙花数。 水仙花数是指一个 3 位数,它的每个……
<<上一篇
下一篇>>
文章目录
关闭
目 录