| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 512 人关注过本帖
标题:水仙花数问题
只看楼主 加入收藏
zgw123
Rank: 1
等 级:新手上路
帖 子:6
专家分:0
注 册:2015-10-31
结帖率:50%
收藏
已结贴  问题点数:10 回复次数:7 
水仙花数问题
2.求出0~999之间的所有“水仙花数”并输出。“水仙花数”是指一个三位数,其各位数字的立方和确好等于该数本身,如;153=1+5+3?,则153是一个“水仙花数”。

/*
在数论中,水仙花数(Narcissistic number)也称为自恋数、自幂数、阿姆斯壮数或阿姆斯特朗数(Armstrong number),是指一N位数,其各个数之N次方和等于该数。
例如153、370、371及407就是三位数的水仙花数,其各个数之立方和等于该数:
153 = 1^3 + 5^3 + 3^3。
370 = 3^3 + 7^3 + 0^3。
371 = 3^3 + 7^3 + 1^3。
407 = 4^3 + 0^3 + 7^3。
*/

程序代码:
#include <stdio.h>
#include <stdlib.h>
int main()
{
    int i = 0;
    int j = 0;
    int k = 0;
    for (i = 0; i < 10; i++)
    {
        for (j = 0; j < 10; j++)
        {
            for (k = 0; k < 10; k++)
            {
                if (i = 0)
                {
                    if (j*j + k*k == j * 10 + k)
                        printf("%d\n", j * 10 + k);
                }
                else
                {
                    if (i*i*i + j*j*j + k*k*k == 100 * i + 10 * j + k)
                        printf("%d\n", 100 * i + 10 * j + k);
                }
            }
        }
    }
    system("pause");
    return 0;
}

哪里出问题了,求高手帮忙
搜索更多相关主题的帖子: 阿姆斯特朗 number 水仙花 
2015-11-10 17:00
azzbcc
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
来 自:江西财经大学
等 级:贵宾
威 望:81
帖 子:3293
专家分:12919
注 册:2012-11-4
收藏
得分:9 
for (k = 0; k < 10; k++)
{
    if (i = 0)
    {
        if (j * j + k * k == j * 10 + k)
            printf("%d\n", j * 10 + k);
    }
    else
    {
        if (i * i * i + j * j * j + k * k * k
                == 100 * i + 10 * j + k)
            printf("%d\n", 100 * i + 10 * j + k);
    }
}


[fly]存在即是合理[/fly]
2015-11-10 17:26
xiongshoot
Rank: 2
等 级:论坛游民
帖 子:4
专家分:21
注 册:2015-11-10
收藏
得分:1 
#include<stdio.h>
main()
{
    int i,j,k;
    printf("水仙花数为:\n");
    for(i=1;i<10;i++)
        for(j=0;j<10;j++)
            for(k=0;k<10;k++)
                {
                    if((i*i*i+j*j*j+k*k*k)==(i*100+j*10+k))
                        printf("%d%d%d\n",i,j,k);
                }
            
}
2015-11-10 17:29
zgw123
Rank: 1
等 级:新手上路
帖 子:6
专家分:0
注 册:2015-10-31
收藏
得分:0 
回复 2楼 azzbcc
这。。
多谢!
2015-11-10 17:40
azzbcc
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
来 自:江西财经大学
等 级:贵宾
威 望:81
帖 子:3293
专家分:12919
注 册:2012-11-4
收藏
得分:0 
所以一直有提倡 0 == i 的写法


[fly]存在即是合理[/fly]
2015-11-10 17:48
zgw123
Rank: 1
等 级:新手上路
帖 子:6
专家分:0
注 册:2015-10-31
收藏
得分:0 
回复 5楼 azzbcc
学习到了 谢谢
2015-11-10 18:13
bdhxjsq
Rank: 2
等 级:论坛游民
帖 子:2
专家分:10
注 册:2015-11-10
收藏
得分:0 
学习了, 多谢
2015-11-10 19:10
随风的飞叶
Rank: 3Rank: 3
等 级:论坛游侠
威 望:2
帖 子:90
专家分:158
注 册:2015-10-8
收藏
得分:0 
#include<stdio.h>
#include<math.h>
main()
{
    int n=100,i,j,k,m;
    printf("水仙花数为\n");
    while(n<=999)
    {
        i=n/100;
        j=(n/10)%10;
        k=n%10;
        m=pow(i,3)+pow(j,3)+pow(k,3);
        if(n==m)printf("%d\n",n);
        n++;
    }

}
2015-11-10 19:11
快速回复:水仙花数问题
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.033037 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved