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

代码验证:

相关推荐
♛识尔如昼♛几秒前
C 基础(15) - 位操作
c语言
念恒123069 分钟前
进程控制---进程程序替换
linux·c语言
三品吉他手会点灯27 分钟前
STM32 VSCode 开发-C语言程序运行后,终端中文乱码
c语言·ide·笔记·vscode·stm32·学习·编辑器
彷徨而立30 分钟前
【C/C++】在头文件中定义全局变量的方法
c语言·开发语言·c++
我不是懒洋洋1 小时前
手写一个跳表:从原理到Redis级实现
c语言
小龙报1 小时前
【数据结构与算法】一文拿捏链式二叉树:遍历 + 统计 + 层序 + 完全树
java·c语言·开发语言·c++·人工智能·语言模型·visual studio
做cv的小昊1 小时前
【TJU】研究生应用统计学课程笔记(5)——第二章 参数估计(2.3 C-R不等式)
c语言·笔记·线性代数·机器学习·数学建模·r语言·概率论
孬甭_1 小时前
自定义类型:联合体与枚举
c语言
Hello.Reader1 小时前
Windows C 盘空间告急?用 PowerShell 写一个安全可控的清理脚本
c语言·windows·安全
三品吉他手会点灯2 小时前
C语言学习笔记 - 17.C编程预备计算机专业知识 - 数据类型
c语言·笔记·学习