摘要:目录问题问题求解及代码实现问题描述求出之间的所有水仙花数并输出。水仙花数是指一个位数,其各位数字的次方之和确好等于该数本身,如,则是一个水仙花数。
1.问题描述
求出0~100000之间的所有“水仙花数”并输出。“水仙花数”是指一个n位数,其各位数字的n次方之和确好等于该数本身,如 : 153=1 ^ 3+5 ^ 3+3 ^ 3,则153是一个“水仙花数”。
2.问题求解及代码实现
首先严格意义上的水仙花数应该是一个三位数,这里的“水仙花数”范围为0~100000,这就给我们加大了难度,我们想要求解各位数的n次方之和的话,我们需要首先求解这个数是个几位数,我们使用下面的代码简单实现:
while (w > 0) { w /= 10; i++; }
这样就可以求得一个数w的位数i,接下来为了代码简洁易懂,我们编写一个函数求解一个数的n次方的值,代码如下:
int x(int a,int b){ int g = 0; int sum = 1; for (g = 0; g < b; g++) { sum *= a; } return sum;}
之后我们将一个n位数的每一位都剥离出来,使用上述函数求得每一位的n次方的值,最后再累加起来,若累加起来的值等于这个数本身,我们则称之为”水仙花数“,并将之打印。完整代码如下:
int x(int a,int b){ int g = 0; int sum = 1; for (g = 0; g < b; g++) { sum *= a; } return sum;}int main(){ int n = 0; int y = 0; int z = 0; int j = 0; int w = 0; for (n = 0; n <= 100000; n++) { int i = 0; int m = 0; y = n; z = n; w = n; while (w > 0) { w /= 10; i++; } while (y > 0) { j = y % 10; m += x(j, i); y/= 10; } if (z == m) printf("%d ", m); } return 0;}
最终打印出的结果为
本文到此结束。感谢大家的阅读,欢迎点赞评论,互关互注,祝大家万事如意。
文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。
转载请注明本文地址:https://www.ucloud.cn/yun/125388.html
摘要:水仙花数是指一个三位数,其各位数字的立方和确好等于该数本身,如,则是一个水仙花数。一水仙花数因为水仙花数是三位数,所以我们把范围定为。代码运行结果代码语言其中的一种方法,只输出水仙花数,下文会进行拓展。 目录 前言 一、水仙花数 1.代码(Java) 2.运行结果(Java) 3.代码(C语...
摘要:基础之控制结构学习目标代码块与缩进条件语句语句语句的嵌套断言循环循环循环中断循环控制语句综合嵌套列表解析式基础相关链接学习目标是简洁易学面向对象的编程语言。 Py...
摘要:资源获取方式根据下面的索引,大家可以选择自己需要的资源,然后在松哥公众号牧码小子后台回复对应的口令,就可以获取到资源的百度云盘下载地址。公众号二维码如下另外本文会定期更新,松哥有新资源的时候会及时分享给大家,欢迎各位小伙伴保持关注。 没有一条路是容易的,特别是转行计算机这条路。 松哥接触过很多转行做开发的小伙伴,我了解到很多转行人的不容易,记得松哥大二时刚刚决定转行计算机,完全不知道这...
摘要:简介是目前最流行的深度学习框架。代表一个数学运算,简称,这里面包括了深度学习模型经常需要使用的。这也是名字的由来,表示多维数组在中流动。这一步指定求解器,并设定求解器的最小化目标为损失。 简介 TensorFlow是目前最流行的深度学习框架。我们先引用一段官网对于TensorFlow的介绍,来看一下Google对于它这个产品的定位。 TensorFlow™ is an open sou...
阅读 3666·2023-01-11 11:02
阅读 4206·2023-01-11 11:02
阅读 3006·2023-01-11 11:02
阅读 5145·2023-01-11 11:02
阅读 4699·2023-01-11 11:02
阅读 5483·2023-01-11 11:02
阅读 5234·2023-01-11 11:02
阅读 3861·2023-01-11 11:02