U334783水仙花数2.0题解

· · 算法·理论

原题

在我的CSDN博客中查看这篇题解

水仙花数的定义就不解释了(不知道的显然就是没看这道题)

首先,要把n的百位、十位以及个位提取出来

int n,bai,shi,ge;//定义变量
    cin>>n;//别忘了输入
    bai=n/100;
    shi=n/10%10;
    ge=n%10;

判断它是否是水仙花数

    int n,bai,shi,ge;
    cin>>n;
    bai=n/100;
    shi=n/10%10;
    ge=n%10;
    if(100*bai+10*shi+ge==bai*bai*bai+shi*shi*shi+ge*ge*ge)

如果是就输出yes

    int n,bai,shi,ge;
    cin>>n;
    bai=n/100;
    shi=n/10%10;
    ge=n%10;
    if(100*bai+10*shi+ge==bai*bai*bai+shi*shi*shi+ge*ge*ge)
        cout<<"yes";

如果不是,就输出no

    int n,bai,shi,ge;
    cin>>n;
    bai=n/100;
    shi=n/10%10;
    ge=n%10;
    if(100*bai+10*shi+ge==bai*bai*bai+shi*shi*shi+ge*ge*ge)
        cout<<"yes";
    else
        cout<<"no";

最后加上头文件就可以了(我知道你们还是只看这儿 其实这道题比上次的简单很多)

#include<iostream>
using namespace std;
int main(){
    int n,bai,shi,ge;
    cin>>n;
    bai=n/100;
    shi=n/10%10;
    ge=n%10;
    if(100*bai+10*shi+ge==bai*bai*bai+shi*shi*shi+ge*ge*ge)
        cout<<"yes";
    else
        cout<<"no";
    return 0;
}