送你一朵【水仙花数】
  joJp3k0vX7Vq 2023年11月02日 55 0



文章目录

  • 前言
  • 一、题目
  • 二、思路分析:
  • 二、代码分析
  • 总结



前言

水仙花性喜温暖、湿润、排水良好的环境。在中国已有一千多年栽培历史,为传统观赏花卉。

送你一朵【水仙花数】_求余

水仙花数(Narcissistic number)也被称为超完全数字不变数(pluperfect digital invariant, PPDI)、自恋数、自幂数、阿姆斯壮数或阿姆斯特朗数(Armstrong number),水仙花数是指一个 3 位数,它的每个位上的数字的 3次幂之和等于它本身。例如:1^3 + 5^3+ 3^3 = 153。


一、题目

问题描述
  打印所有100至999之间的水仙花数。所谓水仙花数是指满足其各位数字立方和为该数字本身的整数,例如 153=1^3 + 5^3 + 3^3。
样例输出
153
xxx
xxx
————————————————

二、思路分析:

送你一朵【水仙花数】_算法_02


小知识点:/”通常可以去掉尾数,而“%”通常都用于获得尾数.

二、代码分析

使用for循环遍历100~1000之间的数字,再用if选择语句进行判断。

代码如下(示例):

//水仙花数
#include<iostream>
using namespace std;

int main()
{
	
	int a;//百 
	int b;//十 
	int c;//个 
	
	//找出100~999之间的所有水仙花数
	for(int i=100;i<1000;i++){
		
		c=i%10;   //获得个位
		b=i/10%10;//获得十位
		a=i/100;  //获得百位
		
		//判断是否为水仙花数
		if(a*a*a+b*b*b+c*c*c==i){  //或者i = pow(a, 3) + pow(b, 3) + pow(c, 3);
			cout<<i<<endl;
		}
		
		system("pause");
		return 0;
	}

送你一朵【水仙花数】_c语言_03

总结

  • 水仙花数是三位数。
  • 它的各个位数的立方和等于该数。
  • 在100~1000之间有4个水仙花数,分别是153,370,371,407。 我们主要通过求余求模的操作来完成。 我们可以按照题意,最主要的是求出各个位的数来,通过求余,求模来得到各个位的数。


【版权声明】本文内容来自摩杜云社区用户原创、第三方投稿、转载,内容版权归原作者所有。本网站的目的在于传递更多信息,不拥有版权,亦不承担相应法律责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@moduyun.com

  1. 分享:
最后一次编辑于 2023年11月08日 0

暂无评论

推荐阅读
joJp3k0vX7Vq