C趣味程序(二)(09)三位水仙花数 |
|
www.nanhushi.com 佚名 不详 |
2.3 自方幂数 一个n位正整数如果等于它的n个数字的n次方和,该数称为n位自方幂数。 三位自方幂数又称水仙花数。 四位自方幂数又称玫瑰花数。 五位自方幂数又称五角星数。 六位自方幂数又称六合数。 试求出所有3~6位自方幂数。
2.3.1 三位水仙花数 1、算法分析 求自方幂数采用穷举判定法。求n位自方幂数,对所有n位整数一 一判定,如果其数字的n次方和等于它自身,则打印输出。 求n个数字的n次方和,常见有以下两种方法: 1)设置n重循环,每位数设置循环;最高位从1~9,其余各位数从0~9。n个数字的n次方的和即n个循环变量的n次方和。 2)从最小的n位数至最大的n位数循环,对每一个n位数分离其各个数字,然后求数字的n次方和。 两种方法从循环次数来说是一样的,前者实施起来较为简便。
程序代码如下: #include<stdio.h> void main() { int i,j,k,m1,m2; for(i=1;i<=9;i++) for(j=0;j<=9;j++) for(k=0;k<=9;k++) { m1=i*100+j*10+k; /*m1为三个数字分别为i,j,k的三位数*/ m2=i*i*i+j*j*j+k*k*k; /*m2为三个数字的立方和*/ if(m1==m2) printf("%3d ",m1); /*输出满足水仙花条件的数*/ } printf("\n"); } 程序运行结果: 水仙花数有: 153 370 371 407
|
|
|
文章录入:杜斌 责任编辑:杜斌 |
|
上一篇文章: C趣味程序(二)(09)四位玫瑰花数 下一篇文章: C趣味程序(二)(09)综合求3~6位自幂数 |
【字体:小 大】【发表评论】【加入收藏】【告诉好友】【打印此文】【关闭窗口】 |
|
|