水仙花和变种水仙花

Posted 跳动的bit

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了水仙花和变种水仙花相关的知识,希望对你有一定的参考价值。

/***********************************************************************
目的:打印出100-999以内的“水仙花数”,所谓“水仙花数”(Narcissistic number)是指一个三位数,其各位数字立方和等于该数本身
比如:153是一个“水仙花数”,因为153 = (1 * 1 * 1)+(5 * 5 * 5)+(3 * 3 * 3)。
分析:
平台:Visual studio 2017 && windows
*************************************************************************/
📝 实现代码1

#include<stdio.h>
#include<math.h>
int main()
{
	int n = 100;
	while(n <= 999)
	{
		int i = n % 10;//个位
		int j = n / 10 % 10;//十位
		int k = n / 100;//百位
		if(n == pow(i, 3) + pow(j, 3) + pow(k, 3))//同(i * i * i) + (j * j * j) + (k * k * k)
		{
			printf("%d ", n);	
		}
		n++;
	}
	return 0;
}

/***********************************************************************
目的:变种水仙花数 - Lily Number:把任意的数字,从中间拆分成两个数字,比如1461 可以拆分成(1和461),(14和61),(146和1),如果所有拆分后的乘积之和等于自身,则是一个Lily Number:1461=1461+1461+146*1,求出5位数中的所有Lily Number
分析:
平台:Visual studio 2017 && windows
*************************************************************************/
📝 实现代码2

#include<stdio.h>
int main()
{
	int n = 0;
	for (n = 10000; n <= 99999; n++)
	{
		int m = 0;
		int sum = 0;
		for (m = 10; m <= 10000; m *= 10)//拆分
		{
			sum += ((n / m) * (n % m));
		}
		if (n == sum)
		{
			printf("%d ", n);
		}
	}
	return 0;
}

以上是关于水仙花和变种水仙花的主要内容,如果未能解决你的问题,请参考以下文章

java代码:用for循环求和,求偶数和,求奇数和,打印水仙花数,统计水仙花数

打印出所有"水仙花数",所谓"水仙花数"是指一个三位数,其各位数字立方和等于该本身。 例如:153是一个水仙花数,因为153=1^3+5^3+3^3。(示例代码

代码实现:在控制台输出所有的”水仙花数”

水仙花数python代码for循环

华为OD机试真题Java实现水仙花数真题+解题思路+代码(2022&2023)

c语言编程题打印出所有的“水仙花数”所谓“水仙花数”是指一个三位数其各位数字立方和等于该数本身