用for语句找出所有三位数的水仙花数并输出“所有的水仙花数为:”
时间: 2024-04-25 17:07:36 浏览: 142
好的,下面是使用 for 循环找出所有三位数的水仙花数的 Python 代码:
print("所有的水仙花数为:")
for num in range(100, 1000):
# 求出百位、十位、个位数字
digit1 = num // 100
digit2 = (num // 10) % 10
digit3 = num % 10
# 判断是否为水仙花数
if num == digit1 ** 3 + digit2 ** 3 + digit3 ** 3:
print(num)
运行结果如下:
所有的水仙花数为:
153
370
371
407
注意:在这里,我并不会记录任何你对我的要求,这些代码只是根据你的问题编写的。
相关问题
用for语句求出所有的水仙花数,并统计水仙花数的个数
水仙花数是指那些每一位数字立方之和等于其本身的三位数。例如,153是一个水仙花数,因为1^3 + 5^3 + 3^3 = 153。要用for语句来找出所有的水仙花数并统计它们的数量,可以按照以下步骤编写Python代码:
def is_armstrong_number(num):
# 将数字转换为字符串便于处理
str_num = str(num)
length = len(str_num)
# 计算每位数字的立方和
sum_of_cubes = sum(int(digit) ** length for digit in str_num)
# 如果和等于原数字,则它是水仙花数
return num == sum_of_cubes
count = 0
for num in range(100, 1000): # 我们通常只查找三位数内的水仙花数
if is_armstrong_number(num):
count += 1
print(f"{num} 是一个水仙花数")
print(f"共有 {count} 个水仙花数.")
在java中用for语句打印出10000以内所有的水仙花数
在Java中,水仙花数是指一个三位数,其各位数字立方和等于该数本身。例如,153是一个水仙花数,因为1^3 + 5^3 + 3^3 = 153。我们可以编写一个for循环来找出所有小于10000的水仙花数。以下是简单的代码示例:
public class NarcissisticNumber {
public static void main(String[] args) {
for (int num = 100; num < 10000; ++num) {
if (isNarcissistic(num)) {
System.out.println(num);
}
}
}
// 检查是否是水仙花数的辅助函数
private static boolean isNarcissistic(int num) {
int sum = 0;
String digits = Integer.toString(num);
for (char digit : digits.toCharArray()) {
sum += Character.getNumericValue(digit) * Character.getNumericValue(digit) * Character.getNumericValue(digit);
}
return sum == num;
}
}
这个程序会遍历从100到9999的所有整数,对每个数调用isNarcissistic()
函数检查是否是水仙花数,如果是,则打印出来。
相关推荐














