2. 在第一个`for`循环中,`if(a<=1000)`的条件判断可能不必要,因为题目要求输出1到10000之间的水仙花数,循环条件应该是`1<=i<=10000`。3. `break`语句在`if(a==1001)`中可能导致程序过早退出,只遍历到1000就停止了,这不符合要求。4. 在第二个`for`循环中,`for(i=1000;1<=10000;i...
这个范围,使用穷举法就可以了。耗时不过千分之几秒。一共有16个。附:计算结果和fortran代码
/** * 打印 10000 以内的所有水仙花数 * * 所谓“水仙花数”即一个整数满足其值等于各个数位的立方和。 * 例如:153是一个水仙花数,因为153=1*1*1+5*5*5+3*3*3 * * 1) 检查一个数num是否为水仙花数 * 2) 检查一个范围内全部的num是否为水仙花数 * * num = 153; * n1 = ...
一道java编程题:打印出1~~10000范围中所有的“水仙花数”,所谓的“水仙花数”是指一个3位数其各位数字立方和等于该数本身。例如,153是一个“水仙花数”,因为 153 = 1³ + 5³ + 3³ 。 (只用java基本的语法知识做出来)相关知识点: 试题来源: ...
//这是一万以下的水仙花数输出程序 //另一种万能写法。判定整数是否水仙花数,按从小到大的顺序打印出给定区间(m,n)内所有的水仙花数。include <stdio.h> include <math.h> int narcissistic( int number );void PrintN( int m, int n );int main(){ int m, n;scanf("%d %d", &m, &...
for(i=1;i<=10000;i++) if(fun(i)==i) printf("%d是水仙花数\n", i); retu...
public class shuixianhua {public static void main(String[] args) {getNum(101,100000);}public static void getNum(int startNum, int endNum){ if(startNum<100){ System.out.println("不存在小于100的水仙花数"); return; } if(startNum==endNum){ System.out.println...
1. 1234567891011121314151617public class ShuiXian { public static void main(String[] args) { int a = 0; // 百位数字 int b = 0; // 十位数字 int c = 0; // 个位数字 int temp = 0; // 百位数字立方+十位数字立方+个位数字立方 for (int i = 100; i <= 999; i++) { ...
水仙花数具备“各位数字的位数次方和等于其自身”的性质。遍历1~10000之间可能有解的部分,先测出其数字的位数n,再分离数字的各位,求各位数字的n次方的和便是结果。具体操作可先将要判断的数字转换为数字字符串,这样求其位数和分离数位都极为方便。代码如下:include "stdio.h"#include "string.h"#...
程序运行第 1 次 请输入几位水仙花数:5 5 54748 消耗的时间是:4.44秒 5 92727 消耗的时间是:4.68秒 5 93084 消耗的时间是:4.68秒 程序运行第 2 次 请输入几位水仙花数:6 6 548834 消耗的时间是:8.54秒 程序运行第 3 次 请输入几位水仙花数:7 7 1741725 消耗的时间是:10.58秒 7 ...