| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1197 人关注过本帖
标题:求助:水仙花数
只看楼主 加入收藏
signjing
Rank: 1
等 级:新手上路
帖 子:47
专家分:0
注 册:2006-3-24
收藏
得分:0 
对 20楼的比我的好
我过早的写了x=a/100;
y=a/10%10;
z=a%10;
此时a还没有范围

我的QQ:395812618
2006-04-11 15:43
adsl0231
Rank: 1
等 级:新手上路
帖 子:51
专家分:0
注 册:2006-3-29
收藏
得分:0 
#include <stdio.h>
void main()
{
int i,h,t,n;
i=100;
while(i>=100&&i<999)
{
h=i/100;\\用输入的数除以100得到百位上的值
t=i/10-h*10;\\用输入的值数楚以10然后再减去求出的百位上的数乘上10后的值
n=i-h*100-t*10;\\用输入的值减去百位乘上100和十位乘上10后的值
if(i==h*h*h+t*t*t+n*n*n)
printf("%d\n",i);
i++;
}
}
我做的while语句的算法 (绝对原创)

[此贴子已经被作者于2006-4-11 17:14:40编辑过]


2006-04-11 17:04
xiaohuli120
Rank: 1
等 级:新手上路
帖 子:106
专家分:0
注 册:2006-4-10
收藏
得分:0 
用while做:
main()
{
int i,j,k,n=100;
while(n<1000)
{
i=n/100;
j=n/10-i*10;
k=n%10;
if(n==i*i*i+j*j*j+k*k*k)
printf("%4d\n",n);
n++;
}
}
或者:
main()
{
int i,j,k,n=100;
do
{
i=n/100;
j=n/10-i*10;
k=n%10;
if(n==i*i*i+j*j*j+k*k*k)
printf("%4d\n",n);
n++;
}
while(n<1000);
}
没有必要做强制类型转换,正整数相除,应该会简单的舍掉小数部分,

2006-04-11 21:11
andyss
Rank: 1
等 级:新手上路
帖 子:189
专家分:0
注 册:2006-4-8
收藏
得分:0 
算法上不难嘛!一个核心的思想就是求出每一位数.

幽幽黄桷兰----建四狼
2006-04-11 21:17
icy_fruit
Rank: 1
等 级:新手上路
帖 子:14
专家分:0
注 册:2006-2-22
收藏
得分:0 
也有好多都是我们学校的作业题,是不是考材有很多重复的地方?

2006-04-12 20:34
快速回复:求助:水仙花数
数据加载中...
 
   



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

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