c++编程打印出水仙花数

来源:百度知道 编辑:UC知道 时间:2024/05/23 02:13:28

//可以计算long型的水仙花数(不只3位数)
#include<iostream>
#include<cmath>
using namespace std;

long ShuiXianHua(char *str);

int main()
{
char ch[20];
int t1,t2;
for(long i=10; i<3999999; i++)
{
itoa(i,ch,10);
if(ShuiXianHua(ch)==i)
{
cout<<i<<" :是水仙花数"<<endl;
}
}
cout<<t2-t1<<endl;

}

long ShuiXianHua(char *str)
{
long n=0;
long sum=0;
for(int i=0; i<strlen(str); i++)
{
n=str[i]-'0';
sum+=pow(n,3);
}

return sum;
}

这还是我大一时候做的,老师当时想为难我们,没想到被我做出来了,当时还没学C语言呢,这个我还留着
#include <stdlib.h>
#include <stdio.h>
int a,b,d;
int main()
{
for(a=1;a<9;a++)
{
for(b=0;b<10;b++)
{
for(d=0;d<10;d++)
{
if(a*a*a+b*b*b+d*d*d==a*100+b*10+d)
printf("%d