资讯专栏INFORMATION COLUMN

《C语言入门》简单水仙花问题求解

不知名网友 / 1677人阅读

摘要:目录问题问题求解及代码实现问题描述求出之间的所有水仙花数并输出。水仙花数是指一个位数,其各位数字的次方之和确好等于该数本身,如,则是一个水仙花数。

目录

1.问题

2.问题求解及代码实现

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

相关文章

  • C语言、Java】分别实现仙花数及拓展

    摘要:水仙花数是指一个三位数,其各位数字的立方和确好等于该数本身,如,则是一个水仙花数。一水仙花数因为水仙花数是三位数,所以我们把范围定为。代码运行结果代码语言其中的一种方法,只输出水仙花数,下文会进行拓展。 目录 前言 一、水仙花数 1.代码(Java) 2.运行结果(Java) 3.代码(C语...

    sumory 评论0 收藏0
  • 前端是有多难?

    摘要:我之前从来没想过高阶函数怎么在里面用,直到看了源码吃了一惊,卧槽,还能这么写还有说烂了的柯里化。然而也加重了前端的负担。毕竟和前端靠的近,人家问起来自己不会多尴尬。好了,一个前端工程师做到这份上也算是仁至义尽了。 最近感觉追不动前端的发展了,写篇文章感叹一下。 HTML 我知道有一些学校会教一些简单的网页制作,就是用 Dreamweaver 点一点的那种。大多也会留作业,最后交作业的时...

    habren 评论0 收藏0
  • Python基础之控制结构

    摘要:基础之控制结构学习目标代码块与缩进条件语句语句语句的嵌套断言循环循环循环中断循环控制语句综合嵌套列表解析式基础相关链接学习目标是简洁易学面向对象的编程语言。 Py...

    liaosilzu2007 评论0 收藏0
  • 做IT这几年,我整理了这些干货想要送给你!

    摘要:资源获取方式根据下面的索引,大家可以选择自己需要的资源,然后在松哥公众号牧码小子后台回复对应的口令,就可以获取到资源的百度云盘下载地址。公众号二维码如下另外本文会定期更新,松哥有新资源的时候会及时分享给大家,欢迎各位小伙伴保持关注。 没有一条路是容易的,特别是转行计算机这条路。 松哥接触过很多转行做开发的小伙伴,我了解到很多转行人的不容易,记得松哥大二时刚刚决定转行计算机,完全不知道这...

    王晗 评论0 收藏0
  • TensorFlow入门教程

    摘要:简介是目前最流行的深度学习框架。代表一个数学运算,简称,这里面包括了深度学习模型经常需要使用的。这也是名字的由来,表示多维数组在中流动。这一步指定求解器,并设定求解器的最小化目标为损失。 简介 TensorFlow是目前最流行的深度学习框架。我们先引用一段官网对于TensorFlow的介绍,来看一下Google对于它这个产品的定位。 TensorFlow™ is an open sou...

    XUI 评论0 收藏0

发表评论

0条评论

不知名网友

|高级讲师

TA的文章

阅读更多
最新活动
阅读需要支付1元查看
<