首页 分享 编程求玫瑰花数

编程求玫瑰花数

来源:花匠小妙招 时间:2024-10-31 19:49

编程求玫瑰花数

最新推荐文章于 2022-06-28 20:00:21 发布

八小时时差 于 2019-11-20 16:16:39 发布

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。

题目如下:如果一个n位正整数等于它的n个数字的n次方和,则称该数为n位自方幂数。四位自方幂数称为玫瑰花数。编程计算并输出所有的玫瑰花数。
输入格式:无
输出格式:"%dn"

1.用传统方法(数位分离法)求玫瑰花数

#include<stdio.h> int getnum(int num); int main() {int num;for(num=1000;num<10000;num++){if(getnum(num))printf("%dn",num);} } /* 输出所有玫瑰花数的函数 */ int getnum(int num) {int a,b,c,d; //a为千位数字,b为百位数字,c为十位数字,d为个位数字{a=num/1000;b=(num-a*1000)/100;c=(num-a*1000-b*100)/10;d=(num-a*1000-b*100-c*10);if(num!=a*a*a*a+b*b*b*b+c*c*c*c+d*d*d*d) {return 0; } } return 1; }

123456789101112131415161718192021222324252627282930313233

2.用数组方法求玫瑰花数

#include<stdio.h> int main() {int i,j,num[4],number,sum; //此处定义了一个有4个元素的数组num[4],用于存放一个数的四位数字for(i=1000;i<10000;i++) //利用for循环对1000至10000之间的四位数遍历检验{number=i;j=0; //定义j作为数组元素的下标do{num[j]=number%10; //此处的do-while语句实际上是对某一四位数从个位到千位逐步分离j++;number/=10;}while(number>0);sum=0;for(j=0;j<4;j++){sum+=num[j]*num[j]*num[j]*num[j]; //此处利用数组的便利性对已经分离出的个位数字进行4次方后再求和}if(i==sum){printf("%dn",i);}} }

12345678910111213141516171819202122232425

相关知识

python玫瑰花代码简单
C语言:输出所有的水仙花数
python玫瑰花代码讲解
vs水仙花数c语言代码,求水仙花数c语言代码怎么写
如果一个四位数等于它的各位数字的4次方的和.则称这个四位数为“玫瑰花数 .如果1634=14+64+34+44.设计一个程序.找出所有的玫瑰花数. 题目和参考答案——青夏教育精英家教网——
数...学题1
23朵玫瑰花代表什么意思 玫瑰花的朵数有什么意义
棵数= 间隔数.ppt
元编程艺术,第 1 部分: 元编程简介
Python画玫瑰花完整代码

网址: 编程求玫瑰花数 https://www.huajiangbk.com/newsview313324.html

所属分类:花卉
上一篇: 送暗恋女孩的玫瑰花如何搭配比较好
下一篇: 中法送礼差异大?教你法式送礼不踩

推荐分享