| |
 |
|
 |
 |
|
 |
水仙花数的问题
|
|
|
1.题目 水仙花数是一个三位数,其各位上数的立方和等于这个数,例如153,13+53+33=153。请找出它们来,OK,下面我们就来找一下这种美妙的数。 2.编程简析 水仙花数既然是一个三位数,那么它的范围也就再清楚不过了,100~999,所以总计有900种可能的情况。怎样判断这个数是不是水仙花数呢?因为条件是各位上数的立方和等于这个数,那么如果假设这个数是n,并且各数位从高到低分别是abc,那么abc和n之间有种一一对应关系。其实我们这里的问题也就成了知道某个数来拆分其数位了。三个数位拆分如下: a=Intn/100 b=Intn-100a/10 c=n-100a-b10 条件也就是aaa+bbb+ccc=n。另外,程序的整体结构是循环内套分支。
3.编程实现
3.1 方案一:
#include "stdio.h"
main() { int i,j,k,n; printf("'water flower'number is:"); for(n=100;n<1000;n++) { i=n/100;/*分解出百位*/ j=n/10%10;/*分解出十位*/ k=n%10;/*分解出个位*/ if(i*100+j*10+k==i*i*i+j*j*j+k*k*k) printf("%-5d",n); } getch();
3.2 方案二:
main(){ int a,b,c,num; for(a=1;a<10;a++){ for(b=0;b<10;b++){ for(c=0;c<10;c++){ if(a*100+b*10+c==(num=a*a*a+b*b*b+c*c*c)) printf("%d",num); } } } } | |
|
|
|
|
发表于: 2007-03-31,修改于: 2007-03-31 18:34,已浏览377次,有评论2条
推荐
投诉
|
|
 |
|
 |
|  |
|
 |
 |
|
 |
网友评论
 |
|
 |
 |
网友:
两秒幻觉 | 时间:2007-05-06 15:15:49 IP地址:121.230.3.★ |
|
|
|
|
|
|
 |
|
 |
 |
|
 |
 |
网友:
本站网友 | 时间:2007-08-10 16:39:23 IP地址:222.133.182.★ |
|
|
|
|
|
|
 |
|
 |
|  |
|
 |
|