“水仙花数”的程序解决方案
“水仙花数”的程序
谁可以,编写一个,“水仙花数”的程序
------解决方案--------------------
http://baike.baidu.com/view/152077.htm
------解决方案--------------------
http://blog.****.net/luciferisnotsatan/article/details/6427287
------解决方案--------------------
google 百度 很多的
------解决方案--------------------
这个上google、百度上查吧!
------解决方案--------------------
谁可以,编写一个,“水仙花数”的程序
------解决方案--------------------
http://baike.baidu.com/view/152077.htm
------解决方案--------------------
http://blog.****.net/luciferisnotsatan/article/details/6427287
------解决方案--------------------
google 百度 很多的
------解决方案--------------------
这个上google、百度上查吧!
------解决方案--------------------
- C/C++ code
#include <iostream> using namespace std; int main() { int a,b,c,i; cout<<"3位数的“水仙花”为:\n"; for(i=100;i<=999;i++) { a=i/100; //百位 b=(i-a*100)/10; //十位 c=i-a*100-b*10; //个位 if(i==a*a*a+b*b*b+c*c*c) { cout<<i<<" "; } } return 0; }
------解决方案--------------------
一般情况下要学会自己寻找答案
------解决方案--------------------
google.baidu. 很多。问问题先baidu google。要养成习惯。
------解决方案--------------------
/* TC 通过,N位数水仙花 */
#include "stdio.h"
#include "conio.h"
long int c(long int a,int b)
{
int i,p,j;
long int k,c,d;
for(p=b,i=10,d=0;b>0;b--)
{
k=a%i;/*尾数求余*/
a-=k; /*去掉已求余部分,由于是int的所以也可以不需要这行*/
a/=10;/*向前进一位*/
j=p;/*保证位数不少*/
for(c=1;j>0;j--)c*=k;/*实现c=k的b方*/
d+=c;
}
return d;
}
void main()
{
int n,m;
long int k,i,j;
char ch;
long int c(long int a,int b);
l: printf("\n in n(n>2):");
ch=getche();
n=ch-48;/*以字符控制位数n '0'==48 */
printf("\n");
if((n>2)&&(n<10))
{
for(j=1,i=0;i<n;i++)
{
j*=10;
}/*确定位数*/
for(i=j/10,k=0;i<j;i++)
{
m=n;
if(m>0)/*m为位数控制数*/
{
k=c(i,m);
m--;
}/*递归传值m控制*/
if(k==i)printf(" out num:%ld",i);
}
}
else
{
printf("next:");
goto l;/*goto跳转重新输入*/
}
getch();
}
------解决方案--------------------
#include<iostream>
using namespace std;
int main()
{int a,q,w,e;
for(a=100;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;};
return 0;
}
摘自百度百科