0-999以内的水仙花数

#include <stdio.h>
#include<stdlib.h>
int main()
{ 
 int a, b, c;
 int i = 0;
 for (i = 0; i < 1000; i++)
 {
  a = i / 100;//取百位
  b = i % 100 / 10;//取十位
  c = i % 10;//取个位
  if (a * 100 + b * 10 + c == a*a*a + b*b*b + c*c*c)
   printf("%d\n", i);
 }
 system("pause");
 return 0;
}

结果:

0,1,153,370,371,407

时间: 2025-01-18 09:18:16

0-999以内的水仙花数的相关文章

如何用C#寻找100到999的所有水仙花数?

首先解释一下何为水仙花数:水仙花数只是自幂数的一种,严格来说是三位数的个位.十位.百位的3次幂数相加等于原来的数字,称为水仙花数.(例如:1^3 + 5^3+ 3^3 = 153) 那么如何通过C#语句来解决这个问题呢? 分析:想要找到百位的水仙花数,要解决的问题由两个,第一个是如何让计算机正确分离出百位数的个位.十位.百位的数字.第二个是如何将其不断循环让100到999都能经过检验. 第一个问题:将这个数值类型定义为整型int(这种数据类型的数字是没有小数点的) 最高位数字--对100整除,则

使用C#语言实现输出1000以内的水仙花数

所谓水仙花数,是指一个n位数(n>=3),它的每个位上的数字的n次幂之和等于它本身,例如:153=13+53+33.首先,我们应该解决的关键问题是,怎么通过C#语言判断一个数是不是水仙花数?既然水仙花数的定义是每个位上的数字的n次幂之和等于它本身,那么我们需要先分别得到一个数每个位上的数字,然后判断每个位上的数字的n次幂之和是否等于等于它本身.取出百位的数字可以使用 int a=i/100%10:(其中变量a存储百位数字.先将变量i中的值除以100,因为被除数和除数都是int类型的值,所以得到值

求100到999之间的水仙花数

所谓"水仙花数" ,是指一个 3 位数,其各位 数字立方和等于该数本身 所谓"水仙花数" ,是指一个 3 位数,其各位 数字立方和等于该数本身 for(int a=1;a<=9;a++){ for(int b=0;b<=9;b++){ for(int c=0;c<=9;c++){ if(a*a*a+b*b*b+c*c*c==a*100+b*10+c){ System.out.println(a*100+b*10+c); } } } } 所谓&quo

JS 1000以内的水仙花数 (三位数 各个数字的立方和等于本身 例如 1*1*1 + 5*5*5 + 7*7*7 = 157)

<!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title></title> </head> <body> </body> </html> <script type="text/javascript"> for(i=100;i<1000;i++){ var a = par

输出0到999之间的水仙花数

#include<stdio.h>#include<math.h>int main(){   int a,b,c,t; int i=0; for(i=100;i<999;i++) {  a=i/100;    t=i%100;    b=t/10;    c=i%10;    if(pow(a,3)+pow(b,3)+pow(c,3)==i)   printf("%d\n",i); } return 0;}

用封装完成100到10000以内的水仙花数

public boolean is(int num){ //定义一个方法 int count=(num+"").length(); //把num转换成String型,在算出他的字符长度,赋予count int num1=num; //把num的值备份num1 int sum=0;    //定义一个变量,来储存结果 while(num>0){ //循环大于0的值 int b=1; //定义一个次幂 int a=num%10; //求出他的个位数 for(int i=1;i<

计算100-1000以内的水仙花数

for (int i = 100; i <=999; i++) {    int a = i / 100 % 10;    int b = i / 10 % 10;    int c = i % 10; if (a * a * a + b * b * b + c * c * c == i) {    Console.WriteLine(i); } } 原文地址:https://www.cnblogs.com/-Ellen/p/9865690.html

HDOJ2010_水仙花数

一道水题.一直出现Output Limit Exceeded的原因是在while循环中没有终止条件的时候会自动判断并报错,写的时候忘记加!=EOF结束标识了. #include<stdio.h> #include<stdlib.h> #include<math.h> #include<string.h> int main() { int num[1000]={0}; int i,j; // //将100~999以内的水仙花数标识出来 for(i=100;i&

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