首页 > 其他分享 >送你一朵【水仙花数】

送你一朵【水仙花数】

时间:2023-10-26 18:01:11浏览次数:31  
标签:153 数字 int 水仙花 一朵 100 数是



文章目录

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



前言

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

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

水仙花数(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。 我们主要通过求余求模的操作来完成。 我们可以按照题意,最主要的是求出各个位的数来,通过求余,求模来得到各个位的数。


标签:153,数字,int,水仙花,一朵,100,数是
From: https://blog.51cto.com/u_16312968/8042144

相关文章

  • C语言-水仙花数
    计算100-1000内的水仙花#include<stdio.h>//水仙花数boolshuixianhua(intnum); intmain(){ inti; for(i=100;i<1000;i++){ if(shuixianhua(i)==1){ printf("%disashuixianhuanum.\n",i); } } return0; }boolshuixianhua(in......
  • 输出100-999之间所有的水仙花数。水仙花数指的是:各位数字立方和等于该数本身例如:153=1
    #include<stdio.h>intmain(){ inti,b0,b1,b2; intcount=0; for(i=100;i<1000;i++) { b0=i/100; b1=(i-b0*100)/10; b2=i%10; if(i==((b0*b0*b0)+(b1*b1*b1)+(b2*b2*b2))) {  count++;  printf("%d\n",i); } } printf("水仙花个数是:%d",co......
  • 用python求100到999以内的水仙花数(不用除法求各项)
    c=0forainrange(100,1000):forbinstr(a):a1=int(b)c=c+a1**3ifa==c:print(a)c=0输出结果为153370371407使用for循环来取数字中的每一位,不过数字要先化为str格式来取然后再化为int格式来赋值,要注意c的值每一次......
  • C语言求1000以内所有的水仙花数
    求1000以内所有的水仙花数何为水仙花数一个3位整数的各位数字的立方之和等于这个整数,称之为“水仙花数”。例如:153是水仙花数,因为153=1*1*1+5*5*5+3*3*3。先看代码#include<stdio.h>#include<math.h>intmain(){inti,a,b,c,d;for(i=100;i<1000;i++)......
  • 水仙花数
    水仙花数一个三位数,各位数分别是abc,则满足如下条件的数称为水仙花数:\[abc=a^3+b^3+c^3\]比如:\[153=1^3+5^3+3^3\]水仙花总数为153,370,371,407。精确地说,3位数的三次幂数就叫做水仙数。数较多的还有其他相应称呼,如:四个数字的四叶玫瑰数目共有3:1634,8208,9474......
  • 水仙花数
     进行水仙花数讲解水仙花数也被称为超完全数字不变数、自恋数、自幂数、阿姆斯壮数或阿姆斯特朗数,水仙花数是指一个3位数,它的每个位上的数字的3次幂之和等于它本身例如1^3+5^3+3^3=153;直接取值判断for循环i从100逐渐加一到1000 a取i的个位数b取i的十位数c取i的......
  • Python 实现水仙花数
    水仙花数水仙花数(Narcissisticnumber)也被称为超完全数字不变数(pluperfectdigitalinvariant,PPDI)、自恋数、自幂数、阿姆斯壮数或阿姆斯特朗数(Armstrongnumber),水仙花数是指一个3位数,它的每个位上的数字的3次幂之和等于它本身。例如:1^3+5^3+3^3=153。根据定义可知:水......
  • 水仙花数
    intSum(inttmp,intn){ intj=1; intsum=0; while(tmp) { intret=1; inttmp2=0; for(j=1;j<=n;j++) { tmp2=ret*tmp%10; } sum+=tmp2; tmp/=10; } returnsum;}intmain(){ inti=0; for(i=0;i<=100000;i++) { //判......
  • 水仙花数
    一、问题描述水仙花数是指一个3位数,它的每个位上的数字的3次幂之和等于它本身,例如:13+53+3^3=153。输出所有的水仙花数。二、设计思路“水仙花数”是指满足某一条件的三位数,根据这一信息可以确定整数的取值范围是100~999。对应的循环条件如下:for(n=100;n<1000;n++){……}......
  • 水仙花数
    ```#define_CRT_SECURE_NO_WARNINGS#include<stdio.h>#include<math.h>main(){   intm[16],n,i,t,a;   for(n=100;n<=999;n++)      //穷举n的取值范围*   {       t=0;       a=n;       for(i=0;a......