求出0-999之间的所有水仙花数
2018-03-21 21:32
225 查看
呵!水仙花数
这是什么啊???(黑人问号脸)
我去百度了一下
“水仙花数”是指一个三位数,其各位数字的立方和确好等于该数本身,如;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。
那么问题来了
代码怎么写???
思考了一下
用自己的思维表示一下
水仙花数=个位的数^ 3+十位的数^3+百位的数^ 3
那我们把这个水仙花数定义为i,百位的就定为hundreds
十位的为i除100的余数除10,以此类推
代码如下:
#include<stdio.h>int main(){ int i = 0; int hundreds = 0; int decade = 0; int unit = 0;//定义变量 for (i = 0; i <= 999; i++)//限定水仙花数的取值范围,0-999 { if (i/100 != 0)//因为是一个三位数,所以一定是比100大的 { hundreds = i / 100; decade = i % 100 / 10; unit = i % 10;//表示各个位的数 if (i == (hundreds*hundreds*hundreds + decade*decade*decade + unit*unit*unit))//定义表示 { printf("%d\n", i);//输出 } } } return 0;}运行结果如下:
真是so easy呢
郑辛宇666
这是什么啊???(黑人问号脸)
我去百度了一下
“水仙花数”是指一个三位数,其各位数字的立方和确好等于该数本身,如;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。
那么问题来了
代码怎么写???
思考了一下
用自己的思维表示一下
水仙花数=个位的数^ 3+十位的数^3+百位的数^ 3
那我们把这个水仙花数定义为i,百位的就定为hundreds
十位的为i除100的余数除10,以此类推
代码如下:
#include<stdio.h>int main(){ int i = 0; int hundreds = 0; int decade = 0; int unit = 0;//定义变量 for (i = 0; i <= 999; i++)//限定水仙花数的取值范围,0-999 { if (i/100 != 0)//因为是一个三位数,所以一定是比100大的 { hundreds = i / 100; decade = i % 100 / 10; unit = i % 10;//表示各个位的数 if (i == (hundreds*hundreds*hundreds + decade*decade*decade + unit*unit*unit))//定义表示 { printf("%d\n", i);//输出 } } } return 0;}运行结果如下:
真是so easy呢
郑辛宇666
相关文章推荐
- 求出0—999之间的所有“水仙花数”。
- 编写一个程序找出100~999之间所有的水仙花数
- 求出0~999之间的所有“水仙花数”并输出
- 求出0~999之间的所有“水仙花数”并输出
- 求出0~999之间的所有“水仙花数”并输出
- 求出0~999之间的所有“水仙花数”并输出。
- 输出0~999之间的所有“水仙花数”ps:“水仙花数”是指一个三位数,其各位数字的立方和确好等于该数本身
- 求出0~999之间的所有“水仙花数”并输出。“水仙花数”是指一个三位数,其各位数字的立方和确好等于该数本身,如;153=1+5+3?,则153是一个“水仙花数”。
- c语言:3种方法;求出0~999之间的所有“水仙花数”并输出。
- Java算法——求100—999之间的所有水仙花数,并统计一共有几个
- C语言 求出100~999之间的所有“水仙花数”并输出
- 求出0~999之间的所有“水仙花数”并输出。“水仙花数”是指一个三位数,其各位数字的立方和确好等于该数本身
- 如何编写程序,求出0~999之间的所有“水仙花数”并输出?
- 求出0~999之间的所有“水仙花数”并输出。“水仙花数”是指一个三位数,其各位数字的立方和确好等于该数本身,如;153=1+5+3?,则153是一个“水仙花数”。
- 求100---999之间的所有水仙花数,并输出。提示:水仙花数是一个3位数的自然数,该数各位数的立方和等于该数本身
- 利用c语言求出0~999之间的所有“水仙花数”并输出
- C语言实现枚举100~999之间的所有水仙花数
- Java求100-999之间所有的"水仙花数"
- 求出0~999之间的所有“水仙花数”并输出。“水仙花数”是指一个三位数,其个位数字的立方和确好等于该数本身,如:153=1+5+3,则153是一个“水仙花数”。
- Java打印出100-999之间所有的"水仙花数"