# 题目

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

# 分析

这个题目很简单,仅需要把一个三位数的整数拆分开来,将其个位、十位、百位分别乘以自身的 3 次幂然后相加,最后判断其结果是否等于自身

# 代码实现

c
#include <stdio.h>
#include <math.h>
int main(int argc,char *argv[]){
        int i,x=0,y=0,z=0;
        for(i=100;i<1000;i++){
        
                # 取个位数值
                x=i%10;
                
                # 取十位数值
                y=i/10%10;
                
                # 取百位数值
                z=i/100;
                
                if( pow(x,3) + pow(y,3) + pow(z,3) == i ){
                        printf ("%d\n",i);
                }
        }
}

# 运行结果

result

Edited on Views times

Give me a cup of [coffee]~( ̄▽ ̄)~*

Bob WeChat Pay

WeChat Pay

Bob PayPal

PayPal

Bob Alipay

Alipay