3位水仙花数解法

大家都知道水仙花数吧。

水仙花数(Narcissistic number)也被称为超完全数字不变数(pluperfect digital invariant, PPDI)、自恋数、自幂数、阿姆斯壮数或阿姆斯特朗数(Armstrong number),水仙花数是指一个 n 位数(n≥3 ),它的每个位上的数字的 n 次幂之和等于它本身(例如:1^3 + 5^3+ 3^3 = 153)。

我们今天研究的仅限于3位的呵。。。【搔头】

那么先上代码:

#include<bits/stdc++.h>
using namespace std;
int main()
{
    int g,s,b,a;

    for(a=100;a<=999;a++)
    {
        g=a%10%10;
        s=a/10%10;
        b=a/100%10;

        if(a==((g*g*g)+(s*s*s)+(b*b*b)))
            cout<<a<<' ';

    }
    return 0;
}

现在,我们来一行一行翻译:

#include<bits/stdc++.h>//万能头文件,还需要翻译?不肥?https://www.cnblogs.com/Kiven5197/p/5745589.html
using namespace std;
int g,s,b,a;//定义g=个位,s=十位,b=百位,a=读入的三位数
    for(a=100;a<=999;a++)//从100到9999循环
    {
        g=a%10%10;//个位
        s=a/10%10;//十位
        b=a/100%10;//百位
if(a==((g*g*g)+(s*s*s)+(b*b*b)))//满足水仙花数的条件时,打印这个数
            cout<<a<<' ';
}
    return 0;//结束程序,不解释
}

  这是3位水仙花数解法。非常简单。

  小编也只是个蒟蒻啦,各位大佬一定可以做到更高位的水仙花数的解法啦!

猜你喜欢

转载自www.cnblogs.com/SolitaryLaw/p/Daffodils-number.html