C语言 ——— 打印水仙花数

目录

何为水仙花数

题目要求

代码实现


何为水仙花数

"水仙花数"是指一个n位数,其各位数字的n次方之和等于该数本身

如:153 = 1^3 + 5^3 + 3^3,则153就是一个"水仙花数"


题目要求

求出0~100000的所有"水仙花数"并输出


代码实现

复制代码
#include<stdio.h>
#include<math.h>
int main()
{
	// 遍历0~100000的整数

	for (int i = 0; i <= 100000; i++)
	{
		// 计算i的位数
		int n = 1;
		int tmpi = i;
		while (tmpi = tmpi / 10)
			n++;

		// 计算i的每一位次方n后的和
		int sum = 0;
		tmpi = i;
		while (tmpi != 0)
		{
			sum = sum + pow(tmpi % 10, n);
			tmpi = tmpi / 10;
		}

		// 判断并输出打印
		if (sum == i)
			printf("%d\n", sum);
	}
	return 0;
}

代码解析:

1.先计算出当前数的位数有几位

2.再计算出当前数的每一位次方位数后的和

3.最后判断和是否等同于当前数

代码验证:

相关推荐
HUANGZHENXUAN1238 小时前
最大子矩阵和:从 O(n⁴) 到 O(n³) 的列压缩 + Kadane
c语言·前端
§ꦿCFོ༉10 小时前
嵌入式八股文—C语言入门学习(二)
c语言·学习·嵌入式·编程语言
David猪大卫20 小时前
【Linux修炼】环境变量、进程地址空间
linux·c语言·经验分享·笔记·学习·ubuntu·centos
Zwawa1 天前
两根线怎么挂住一堆设备:I2C 协议原理
c语言·单片机·嵌入式
武子康1 天前
h3.c 的两个权重槽,怎样把内存压力换成 SSD 等待
c语言·人工智能·agent
§ꦿCFོ༉2 天前
嵌入式八股—C语言入门学习(一)
c语言·编程语言·嵌入式八股文
沐晓时光2 天前
C语言入门,字符串和字符串函数知识讲解
c语言·开发语言
智者知已应修善业2 天前
【51单片机实现从下到上,从上到下,从中间到两边,两边到中间】2024-10-23
c语言·经验分享·笔记·单片机·嵌入式硬件·51单片机
布莱克6053 天前
C/C++ 中变量的声明与定义:区别、联系与常见误区
c语言·开发语言·c++·声明·定义
揽星河..3 天前
【C语言】底层程序设计
c语言·开发语言