啊哈磊_编程从这里起步

标题: 挑战题第一题,求大神指导一下!!! [打印本页]

作者: lin5103151    时间: 2014-3-23 23:07
标题: 挑战题第一题,求大神指导一下!!!
#include<stdio.h>
#include<stdlib.h>
int main()
{
        int a,b,c,d,e;
        a=1;
        b=1;
        c=1;
        while(a<=10)
        {
                while(b<=a)
                {
                        while(c<=b)
                        {
                                d=a*100+b*10+c;
                                e=a*a*a+b*b*b+c*c*c;
                                if(d==e)
                                        printf("%d",d);
                                c++;
                        }
                        c=0;
                        b++;
                }
                a++;
                b=0;
                c=0;

        }
        system("pause");




}


作者: lin5103151    时间: 2014-3-23 23:08
为什么输出来的是1000;哪里出错了 !!
作者: rosynirvana    时间: 2014-3-23 23:14
题解区也回复你了
这题目要做的是验证所有的3位数
可以尝试下面两种方法
1. 一个循环从100开始, 到999结束。然后取这个3位数的百位,十位,个位,然后进行验证。
2. 嵌套的三层循环,每一层都从0或1开始,到9结束,然后用三个循环的数字拼出一个3位数再进行验证
你上面代码用的是第二种方法,但是好像没理清思路
所以建议你先用第一种方法试试
作者: 趣味的吃    时间: 2014-8-3 13:32
楼主的问题书上就有啊!代码如下:[mw_shl_code=c,true]#include <stdio.h>
#include <stdlib.h>
int main()
{
        int x,a,b,c;
    for(x=100;x<=999;x++)
    {
    a=x/100;
    b=x/10%10;
    c=x%10;
    if(x==a*a*a+b*b*b+c*c*c)
    printf("%d\n",x);
    }
        system("pause");
        return 0;
}
[/mw_shl_code]

水仙花数(挑战第一题).c

242 Bytes, 下载次数: 0


作者: 趣味的吃    时间: 2014-8-3 13:33
我自己改了一个小地方




欢迎光临 啊哈磊_编程从这里起步 (https://bbs.codeaha.com/) Powered by Discuz! X3.2