编程 求水仙花数

若水仙花数是一个三位数,它的各位数字的平方之和等于该数,如153=1^3+5^3+3^3.请设计一个算法,找出100到999中所有的水仙花数

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

    C语言代码

#include <stdio.h> 
#include <stdlib.h>
void main() 

    int i,j,k,n; 
    printf("'water flower'number is:"); 
    for(n=100;n<10000;n++) 
    { 
        i=n/100;/*分解出百位*/ 
        j=n/10%10;/*分解出十位*/ 
        k=n%10;/*分解出个位*/ 
        if(n==i*i*i+j*j*j+k*k*k) 
        { 
            printf("%-5d",n); 
        } 
    } 
    printf("\n"); 
}

  3.  C++代码

#include<iostream>
using namespace std;
int f(int x)
 {int y=1;
 for(int i=1;i<=3;i++)
  y=y*x;
 return y;}
int main()
{
 for(int i=100;i<=999;i++)
  {if(f(i%10)+f(i/10%10)+f(i/100%10)==i)
  cout<<i<<endl;}
 return 0;
}

温馨提示:答案为网友推荐,仅供参考
第1个回答  2020-04-29
C语言的"水仙花数"实现代码:

#include
<stdio.h>

int
main(void)

{

int
a,b,c;

for(a=1;a<=9;a++)

for(b=0;b<=9;b++)

for(c=0;c<=9;c++)

if(100*a+10*b+c==a*a*a+b*b*b+c*c*c)

printf("%d%d%d\n",a,b,c);

return
0;

}
Java
语言的"水仙花数"实现代码
public
class
shuixianhua

{

public
static
void
main(String[]
args){

for(int
i=1;
i<=9;
i++)

for(int
j=0;
j<=9;
j++)

for(int
k=0;
k<=9;
k++)

if(i*i*i+j*j*j+k*k*k
==
100*i+10*j+k)

System.out.print(i*100+j*10+k+"
");

}

}
C++编译器上的"水仙花数"实现代码

#include<iostream>

using
namespace
std;

void
main()

{

int
a=100;

int
q,w,e;

for(a;a<1000;++a)

{

q=a/100;

w=(a-q*100)/10;

e=(a-q*100-w*10);

if(a==q*q*q+w*w*w+e*e*e)

cout<<a<<"是水仙花数"<<endl;}

}
第2个回答  2012-05-14
我给你用c的格式写一下:
#include"stdio.h"
#include"stdlib.h"
int main()
{
int i,sum,t,b;
for (i=1;i<=10000;i++)
{
sum=0;
b=i;
while(b!=0){
t=b%10;
sum=sum+t*t*t;
b=b/10;}
if(sum==i)
printf("%d ",i);
}

return 0;
} }本回答被提问者采纳
第3个回答  2020-05-02
水仙花数是指一多位数,其各个数之立方和等于该数本身
第4个回答  2012-05-13
//判断一个三位数是否为水仙花数
bool isNarcissusNum(long n)
{
bool flag = false;
float ge = 0;
float shi = 0;
float bai = 0;
float sum = 0;

ge = n % 10;
bai = n / 100;
shi = (n % 100 - ge) / 10;

sum = pow(ge,3) + pow(shi,3) + pow(bai,3);

if(sum == n)
flag = true;

return flag;
}

//调用
for(int i=100;i<1000;i++)
{
if(isNarcissusNum(i)==true)
cout<<i<<" "; //输出水仙花数
}
相似回答