水花仙数2010java
时间: 2023-11-21 16:58:54 浏览: 125
以下是Java中判断水花仙数的代码示例:
```java
public class ShuixianFlower {
public static void main(String[] args) {
for (int i = 100; i < 1000; i++) {
int gw = i % 10;
int sw = (i / 10) % 10;
int bw = i / 100;
int num = gw * gw * gw + sw * sw * sw + bw * bw * bw;
if (num == i) {
System.out.println("num = " + i);
}
}
}
}
```
运行结果为:
```
num = 153
num = 370
num = 371
num = 407
```
以上代码中,我们使用了循环语句和条件语句来判断每个三位数是否为水花仙数。具体来说,我们先将三位数分解为个位、十位和百位,然后计算每个位上数字的立方和,最后判断是否等于原数。如果等于原数,则输出该数。
相关问题
用c语言 做出输入一个三位数,判定是不是水花仙数
在 C 语言中,水花仙数(Water Lily Number)是指将数字的每一位乘以其位置(从右到左,第一位为1),然后相加,如果得到的结果等于原数本身,那么这个数就是水花仙数。下面是一个简单的程序示例,用于判断输入的三位数是否是水花仙数:
```c
#include <stdio.h>
int isWaterLilyNumber(int num) {
int sum = 0;
int position = 1;
// 将每位数字乘以其位置并累加
while (num > 0) {
int digit = num % 10; // 取当前位
sum += digit * position; // 加入累加和
position *= 10; // 移动到下一位
num /= 10; // 去掉最低位
}
// 判断结果是否等于原数
return sum == num;
}
int main() {
int input;
printf("请输入一个三位数: ");
scanf("%d", &input);
if (isWaterLilyNumber(input)) {
printf("%d 是水花仙数\n", input);
} else {
printf("%d 不是水花仙数\n", input);
}
return 0;
}
```
利用自定义函数求解5位数中的所有水花仙
"水花仙"通常是指中国数字猜谜游戏“接龙”的一种说法,其中数字由连续的自然数组成,比如12345、67890等。如果我们要利用自定义函数找出一个5位数中的所有水花仙序列,可以设计一个函数来检查每个可能的连续子序列是否满足规则。
首先,我们需要明确规则:水花仙序列是由连续的自然数组成,例如,12345、23456,但不包括5位数本身。
下面是一个简单的Python函数示例,它会接受一个5位数作为输入,并返回所有的水花仙序列:
```python
def find_water_fairy(num):
num_str = str(num)
length = len(num_str)
result = []
def is_water_fairy(sub_num):
return all(int(sub_num[i]) == int(sub_num[i+1]) + 1 for i in range(len(sub_num) - 1))
# 遍历所有长度为2到length-1的子串
for sub_len in range(2, length):
for start in range(length - sub_len + 1):
sub_num = num_str[start:start+sub_len]
if is_water_fairy(sub_num):
result.append(sub_num)
return result
# 示例:
number = 123456
water_fairies = find_water_fairy(number)
print(f"5位数 {number} 中的所有水花仙序列:{water_fairies}")
阅读全文
相关推荐












