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.最后判断和是否等同于当前数

代码验证:

相关推荐
我叫洋洋2 小时前
[Proteus 和 stm32f103c8t6]的使用控制OLED篇]
c语言·stm32·单片机·嵌入式硬件·蓝桥杯·proteus
Book思议-3 小时前
【数据结构】栈与队列全方位对比 + C 语言完整实现
c语言·数据结构·算法··队列
IT方大同6 小时前
(实时操作系统)线程管理
c语言·开发语言·嵌入式硬件
老约家的可汗7 小时前
list 容器详解:基本介绍与常见使用
c语言·数据结构·c++·list
爱编码的小八嘎8 小时前
C语言完美演绎6-10
c语言
3壹9 小时前
STM32按键检测与上拉电阻详解
c语言·stm32·嵌入式硬件
AI+程序员在路上9 小时前
新手进入嵌入式行业方法与方向选择
c语言·开发语言·单片机·嵌入式硬件
always_TT9 小时前
栈内存 vs 堆内存:区别与使用场景
c语言
水饺编程9 小时前
第4章,[标签 Win32] :SysMets3 程序讲解01
c语言·c++·windows·visual studio
Lenyiin9 小时前
深度剖析 C 语言标准IO库:stdio 实现原理与实战指南
c语言·开发语言