当前位置: 代码迷 >> C语言 >> 征集解答(1)
  详细解决方案

征集解答(1)

热度:302   发布时间:2008-05-10 17:10:55.0
征集解答(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;
}
搜索更多相关的解决方案: 水仙花  征集  解答  yzfy  经典  

----------------解决方案--------------------------------------------------------
要是 函数  循环 数组也酸的话 会很多  但是按你的思路    不知道 也许就 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]]
本帖最近评分记录

樱花大战,  有爱.
2008-05-10 09:29:31
雨中秣燕

等 级:新手上路
帖 子:765
专家分:0
注 册:2007-10-13
  得分:0 
这个题目是不需要输入的,楼上的改成100-999后,也算一种
还有其它的么?至少还有两种以上

[color=white]
----------------解决方案--------------------------------------------------------
说明这个老师不过是井底之蛙

[color=white]
本帖最近评分记录
2008-05-10 10:10:54
中学者

等 级:版主
威 望:20
帖 子:3554
专家分:80
注 册:2007-9-14
  得分:0 
我觉得做题和C关系并不大,你只不过在用你熟悉的工具来学习算法....
算法的背后就是思维的磨练....我感觉你们老师也太...
PS:我的思维好僵硬//
----------------解决方案--------------------------------------------------------
如果是我做,我用sprintf来处理。
首先来个0-9的立方表,然后枚举数,用sprintf处理后直接相加出结果,最后比较
估计这样编码量能小一点,同时效率能高一点
----------------解决方案--------------------------------------------------------
提示。。。除了分解还可以组合。。。

[color=white]
----------------解决方案--------------------------------------------------------
  相关解决方案