输出所有的“水仙花数”,所谓“水仙花数”是指一个3位数,其各位数字立方和等于该数本身。例如,153是一个水仙花数,因为153=13+53+33。
问题描述:
答
我只会c++……
但可以借助c++讲讲思路。
#include<bits/stdc++.h>
using namespace std;
int main(){
printf(">>>\n");
printf("parcissus number is:\n");
for(int i=1;i<=9;i++)
for(int j=0;j<=9;j++)
for(int k=0;k<=9;k++){
int sum=100*i+10*j+k;
if(pow(i,3)+pow(j,3)+pow(k,3)==sum)
printf("%d%d%d ",i,j,k);
}
printf("\n>>>");
return 0;
}
首先,建立三个循环,分别是三位数的百位、十位和个位。定义一个变量sum,给它赋值为这三个数组成的三位数,再判断sum和三个数的立方和是否相等。