首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C++ >

“水仙花数”的程序解决方案

2012-03-19 
“水仙花数”的程序谁可以,编写一个,“水仙花数”的程序[解决办法]http://baike.baidu.com/view/152077.htm[解

“水仙花数”的程序
谁可以,编写一个,“水仙花数”的程序

[解决办法]
http://baike.baidu.com/view/152077.htm
[解决办法]
http://blog.csdn.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;
  }
摘自百度百科

热点排行