征集解答(1)
算出三位水仙花数,或者n位水仙花数的解答代码以下为老版本的经典代码。你还能写出多少种方法呢??
/********************************************************
** Highlight software by yzfy(雨中飞燕) http://yzfy.org *
*********************************************************/
#include<stdio.h>
int main(void)
{
int i,j,k,n;
for (n=100; n<1000; ++n)
{
i=n/100; //分解出百位
j=n/10%10; //分解出十位
k=n%10; //分解出个位
if (n==i*i*i+j*j*j+k*k*k)
{
printf("%d\n",n);
}
}
getchar();
return 0;
}
** Highlight software by yzfy(雨中飞燕) http://yzfy.org *
*********************************************************/
#include<stdio.h>
int main(void)
{
int i,j,k,n;
for (n=100; n<1000; ++n)
{
i=n/100; //分解出百位
j=n/10%10; //分解出十位
k=n%10; //分解出个位
if (n==i*i*i+j*j*j+k*k*k)
{
printf("%d\n",n);
}
}
getchar();
return 0;
}
----------------解决方案--------------------------------------------------------
要是 函数 循环 数组也酸的话 会很多 但是按你的思路 不知道 也许就 2 3种把
----------------解决方案--------------------------------------------------------
不同的代码结构但一样的算法的话只算一种
[color=white]
----------------解决方案--------------------------------------------------------
明白 想起来的只有2中 也许是玩疯了 大脑 生锈了
----------------解决方案--------------------------------------------------------
/********************************************************
** Highlight software by yzfy(雨中飞燕) http://yzfy.org *
*********************************************************/
#include<stdio.h>
int main(void)
{
int num;
while(scanf("%d",&num)!=EOF)
{
int i,sum=0;
for(i=num;i>0;i/=10)
sum = sum+(i%10)*(i%10)*(i%10);
if(sum==num) printf("%d\n",num);
}
return 0;
}
[[it] 本帖最后由 中学者 于 2008-5-10 17:33 编辑 [/it]]