题解 | #水仙花数#

水仙花数

https://www.nowcoder.com/practice/dc943274e8254a9eb074298fb2084703

#include <stdio.h>
#include<math.h>
int main()
{
	int m = 0;
	int n = 0;
	
	while (scanf("%d %d", &m, &n) == 2)
	{
		int flag = 0;
		for (int i = m; i <= n; i++)
		{
			int sum = 0;//一定要将sum定义在里面,消除上一次sum记录的数值
			int a = i;//这里定义a是因为要确保不用动i,让a代替i做下面的步骤,再把符合条件的i输出来就行
			while (a > 9)//这里解决的是个位和十位的立方相加步骤
			{
				sum += pow(a % 10, 3);
				a /= 10;
			}
			sum += pow(a,3);//这里是加上百位上数字的立方
			if (sum == i)
			{
				printf("%d ", i);
				flag = 1;
			}
			
		}
		if (flag == 0)
			printf("no\n");
	}

	return 0;
}

全部评论

相关推荐

秋招之BrianGriffin:你再跟他说华为工资也低(相对互联网)就可以享受私信爆炸了😋
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客企业服务