求100-999之间的水仙花数,打印出来(153=1*1*1+5*5*5+3*3*3)153 471 470用Java代码怎么弄
时间: 2023-11-14 11:39:29 浏览: 79
public class NarcissisticNumber {
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 (i == a * a * a + b * b * b + c * c * c) { // 判断是否为水仙花数
System.out.print(i + " ");
}
}
}
}
相关问题
用Java编写对于三位整数,如果各位数字的立方和等于其自身,称之为水仙花数,写循环程序求出 100----999 之间的所有水仙花数 例如:153=1*1*1+5*5*5+3*3*3
在Java中,我们可以使用for循环遍历100到999范围内的每一个三位数,然后计算每个数各位数字的立方和,比较是否等于原数本身。下面是一个简单的示例程序:
```java
public class WaterfallNumbers {
public static void main(String[] args) {
for (int i = 100; i < 1000; i++) {
if (isWaterfallNumber(i)) {
System.out.println(i);
}
}
}
// 检查一个数是否是水仙花数
public static boolean isWaterfallNumber(int number) {
int hundred = number / 100;
int ten = (number % 100) / 10;
int unit = number % 10;
int cubeSum = hundred * hundred * hundred + ten * ten * ten + unit * unit * unit;
return cubeSum == number;
}
}
```
这个程序会打印出153、370、371、407等水仙花数。
用oracle loop 循环 输出100-999之间的水仙花数:水仙花数:153=1*1*1 5*5*5 3*3*3=153
Oracle PL/SQL 中可以使用循环结构(如 FOR LOOP 或 WHILE LOOP)来找出100到999范围内的水仙花数。水仙花数是指一个三位数,其每个位上的数字立方之和等于该数本身。例如,153就是水仙花数,因为 1^3 + 5^3 + 3^3 = 1 + 125 + 27 = 153。
以下是使用PL/SQL编写的一个简单示例,它会遍历这个范围并检查是否是水仙花数:
```sql
DECLARE
num NUMBER;
BEGIN
FOR i IN 100 LOOP
num := i;
-- 检查每一位数字
DECLARE
digit1 NUMBER(3) := TRUNC(num / 100); -- 百位
digit2 NUMBER(2) := MOD(num, 100) / 10; -- 十位
digit3 NUMBER(1) := MOD(num, 10); -- 个位
IF POWER(digit1, 3) + POWER(digit2, 3) + POWER(digit3, 3) = num THEN
DBMS_OUTPUT.PUT_LINE(i || ' is a narcissistic number (100-999 range)');
END IF;
END IF;
-- 如果超过100继续下一次迭代,否则结束循环
EXIT WHEN i > 999;
END LOOP;
END;
/
```
运行此脚本,你会看到符合条件的水仙花数在控制台上打印出来。
阅读全文