让写一个
打印出所有的 "水仙花数 ",所谓 "水仙花数 "是指一个三位数,其各位数字立方和等于该数本身。* 例如:153是一个 "水仙花数 ",因为153=1的三次方+5的三次方+3的三次方.* 程序分析:利用for循环控制100-999个数,每个数分解出个位,十位,百位。
public class cs {
public static void main(String[] args) {
for(int i=100;i<=999;i++){
int a=i/100;
int b=i%100/10;
int c=i%10;
if(a*a*a+b*b*b+c*c*c==i){
System.out.println("水仙花数--->"+i);
}
}
}
}
答案是在网上搜索到的!并不是我写的!其中有些看不明白,搜索到的没有什么提示,我想问下!这个为什么是这样写的!
这个代码我只能看懂的是在一个范围内100-999之间的其中的三位数字,
然后往下的是分解这个数字各个位置上的百位,十位,各位!然后三个位置上的数字3次方加起来==i,循环到小于999就退出!得到的数字是
水仙花数是153
水仙花数是370
水仙花数是371
水仙花数是407
结果是我在测试得到的结果!不知道对不对!
我只是不理解为什么要这样算!求解!虽然是作业不会猜上网搜索下,但我是觉得得看会了才行!请教各位!谢谢!
所谓 "水仙花数 "是指一个三位数,其各位数字立方和等于该数本身。为什么是这样?
也就是说这个数的就是用这个公式算的!现在只需要给它的这些数给个代号,然后把公式写好,让它自己去算!算出来的数就是最后的结果,是这样吗?主要是数学学的不好!也不知道3次方是怎么算的!
还有这个应该是一个循环吧!每次算过后的数字,如果还能在往下算,继续算,算到小于999就退出!是这样吗?
此题的条件为:找出100-999以内的水仙花数,所以就循环判断100-999以内符合的数,一直到小于等于999。至于3次方是怎么算的?简而言之,就是一个数乘以自身三次。
还有很多优化的算法,有兴趣可以再深入探究一下
关于Java ,for循环,水仙花数
总之,本文通过Java语言编写了一个简单的程序,展示了如何通过编程逻辑来实现数学问题的求解,即找出所有水仙花数。通过循环遍历和基本的数学运算,我们成功地实现了这一目标。
java中for循环怎样打印出所有的"水仙花数"?
先写一个函数计算一个数字的立方为多少。命名为cube()private static int cube(int n) { return n * n * n;}判断这个数是不是水仙花数,求每一位数上的数的立方和是否为原数字本身即可。Java是一门面向对象编程语言,不仅吸收了C++语言的各种优点,还摒弃了C++里难以理解的多继承、指针等概念,...
Java编程找出所有的水仙花数(水仙花数)。
1. 首先,“水仙花数”是指一个三位数,其各位数字立方和等于该数。例如:153是一个“水仙花数”,因为1的三次方+5的三次方+3的三次方等于153。2. 解此题的关键是如何从一个三位数中分离百位数、十位数、个位数。可以这样做:(1)百位数字a: `a = Math.floorDiv(i, 100)`(2)十位数字...
分别使用while、do-while和for语句编程,找出所有的水仙花数并输出。
x = i \/ 100;sum = x * x * x + y * y * y + z * z * z;if (sum == i) { System.out.println(sum + " 是水仙花数");} } } } ```2. 使用While语句找出所有的水仙花数并输出:```java public class DaffodilNumbers { public static void main(String[] args) { int...
输出100到999间的所有水仙花数,如何编写代码
```java public class DaffodilNumbers { \/ 打印100到999之间所有的水仙花数。水仙花数定义为三位数,其各位数字的立方和等于该数本身。例如,153是一个水仙花数,因为153 = 1^3 + 5^3 + 3^3。程序分析:使用for循环遍历100至999的数,分解每个数的个位、十位和百位数字,并检验其是否为水仙花数...
用Java写个关于“水仙花数”的程序?
public class shuixianhua { public static void main(String[] args) { for (int i = 100; i <1000 ; i++) { int BaiNum = i\/100;\/\/分解出百位 int ShiNum = i\/10%10;\/\/分解出十位 int GeNum = i%10;\/\/分解出个位 \/\/判断是否为水仙花数,即百位的三次方+十位的三次方+个位的...
用java求100-999中的水仙花数,(若三位数abc,abc=a^3+b^3+c^3, 则称...
public static void main(String[] args) { \/\/第一种方法 \/*int m,a,b,c;for(int i=100;i<1000;i++){ m=i;c=m%10;b=(m\/10)%10;a=m\/100;if(m==a*a*a+b*b*b+c*c*c){ System.out.println("\\t"+m);} }*\/ \/\/第二种方法 int a,b,c,m;for(int i=1;i<=9...
在Java计算1-99999之间的水仙花数?有多少个?
\/\/水仙花数是指:一个三位数,其各位数字的立方和等于该数本身\/\/例如:153就是一个水仙花数。\/\/153 = 1*1*1 + 5*5*5 + 3*3*3 = 1 + 125 + 27 = 153 public class ShuiXianHuaShu { public static void main(String[] args) { int count = 0; for (int i = 100; i < 1000...
3. 设计一个Java程序,输出所有的水仙花数。所谓水仙花数,是一个三...
java代码PS:最后运行的时候才发现只有4个水仙花数,自己可以尝试一下不会可以追问哦~public class Test { public static void main(String args[]) { int count=0;\/\/水仙花数个数计数器 for(int num=100;num<1000;num++) { int g=num%10;\/\/个位 int s=num\/10%10;\/\/十位 ...
用java 写程序,输入一个书,判断是否是水仙花树!
首先我想说明一下的是:水仙花数应该是三位数的吧!!!所以呢,循环控制变量我是从100开始的,到999结束(100-999)public class Example{ public static void main(String args[]){ for(int i=100; i<=999; i++){ int a=i\/100;int b=(i\/10)%10;int c=i%10;if(i==a*a*a+b*b*...