C语言输出100到999中所有的水仙花数

------------------------------------------------------------------------------------------------------

水仙花数只是“自幂数”的一种,严格来说三位数的3次幂数才成为水仙花数。

附:

一位自幂数:独身数

两位自幂数:没有

三位自幂数:水仙花数

四位自幂数:四叶玫瑰数

五位自幂数:五角星数

六位自幂数:六合数

七位自幂数:北斗七星数

八位自幂数:八仙数

九位自幂数:九九重阳数

十位自幂数:十全十美数

------------------------------------------------------------------------------------------------------

C语言代码如下:

# include <stdio.h>

int main()
{
     int a,b,c,i,j;
     for(i=100; i<1000; i++)
     {
          j=i;
          a = j%10;
          j = j/10;
          b = j%10;
          j = j/10;
          c = j;
          if(i==a*a*a+b*b*b+c*c*c)
          {
               printf("%d=%d^3+%d^3+%d^3\n",i,a,b,c);
          }
     }
     
 return 0;
}

----------------------------------------------------------------------------------------

干货小知识:关于隐式类型转换
            编译器按顺序采取如下规则:
        ①、如果一个操作数的类型是long double 就把另外一个操作数转换成long double
        ②、否则,如果double ,转换成double
        ③、否则,如果float,转换成float

----------------------------------------------------------------------------------------

时间: 2024-07-28 17:22:29

C语言输出100到999中所有的水仙花数的相关文章

C语言 求出100~999之间的所有“水仙花数”并输出

"水仙花数"是指一个三位数,其各位数字的立方和确好等于该数本身,如:153=1+5+3?,则153是一个"水仙花数".在数论中,水仙花数(Narcissistic number)也称为自恋数.自幂数.阿姆斯壮数或阿姆斯特朗数(Armstrong number),是指一N位数,其各个数之N次方和等于该数. 例如153.370.371及407就是三位数的水仙花数,其各个数之立方和等于该数: 153 = 1^3 + 5^3 + 3^3. 370 = 3^3 + 7^3 +

C语言:求出0~999之间的所有“水仙花数”并输出

#include <stdio.h> int main() {  int num,unit,ten,hundred;  int i=0;  printf("水仙花数:\n");  for(num=100;num<=999;num++)  {   hundred=num/100;   ten=(num-hundred*100)/10;   unit=num-hundred*100-ten*10;    if(num==hundred*hundred*hundred+te

编写一个程序找出100~999之间所有的水仙花数

如果一个3位数等于其各位的立方和,称该数为水仙花数. 如,所以407是一个水仙花数,编写一个程序找出100~999之间所有的水仙花数. 1 #include<stdio.h> 2 #include<stdlib.h> 3 //判断水仙花数,是则返回1 4 int isNarcissus(int n); 5 6 int main() 7 { 8 int i; 9 for(i = 100; i < 1000; i++) 10 if(isNarcissus(i)) 11 print

【python】编写一个程序,求100~999之间的所有水仙花数

编写一个程序,求100~999之间的所有水仙花数. 如果一个三位数等于其各位数字的立方和,则称这个数为水仙花数. 例如:153=1^3+5^3+3^3 因此153就是一个水仙花数 代码如下 #水仙花数 for i in range(100, 1000): sum = 0 temp = i while temp: sum = sum + (temp%10)**3 temp //=10 if sum == i: print(i) 原文地址:https://www.cnblogs.com/SiminL

编写一个Java应用程序,该应用程序包括2个类:Print类和主类E。Print 类里有一个方法output()功能是输出100 ~ 999之间的所有水仙花数(各位数字的 立方和等于这个三位数本身,如: 371 = 33 + 73 + 13。)在主类E的main方法中来 测试类Print。

package com.homework.zw; //print类部分 public class Print { void output() { for(int i =100;i<=999;i++) { if(Math.pow(i/100,3)+Math.pow(i%10,3)+Math.pow(i/10%10, 3)==i) { System.out.println(i); } } } } package com.homework.zw; //主类E部分 public class E { pu

c语言:3种方法;求出0~999之间的所有“水仙花数”并输出。

方法一: #include <stdio.h> int main() { int i,j,k,n; printf("水仙花数:",n); for(n=100;n<1000;n++) { i=n/100; j=n/10-i*10; k=n%10; if(n==i*i*i+j*j*j+k*k*k) printf("%d\n ",n); } return 0; } 输出结果: 水仙花数:153 370 371 407 Press any key to c

利用c语言求出0~999之间的所有“水仙花数”并输出

#include <stdio.h> #include <math.h> int main() { int m; int bai=0; int shi=0; int ge=0; int you=0; for(m=100;m<=999;m++) { bai=m/100; shi=(m%100)/10; ge=m%10; you=pow(bai,3)+pow(shi,3)+pow(ge,3); if(m==you) printf("%d ",m); } ret

求出0~999之间的所有“水仙花数”并输出

#include <stdio.h> int main() { int num,a,b,c;  for(num=100;num<=999;num++)    { a=num/100; b=(num-a*100)/10; c=(num-a*100-b*10); if(num==a*a*a+b*b*b+c*c*c) { printf("%d ",num); } }     return 0; }

c语言输出2~100的素数

这个代码很巧妙,个人的理解都写在了注释里 #include <stdio.h> #include <stdlib.h> #include <math.h> //相关的论文:[1]张景龙,黄静,王爱松等.素数判定算法的改进[J].河南科技学院学报(自然科学版),2013,(6):61-64.DOI:10.3969/j.issn.1008-7516.2013.06.015. //输出100以内的素数,思路: //判断素数方法1: //假如自然数N不是素数,则除1和其本身之外