打印水仙花数。水仙花数是一个三位数,其各位数字的立方和与原数相等。 输出格式: 按递增顺序输出所有水仙花数,每个数输出占5列,居左对齐。 输出样例: 153 370 371 407
时间: 2024-03-18 19:42:19 浏览: 40
好的,下面是代码实现:
```python
for i in range(100, 1000):
num = i
sum = 0
while num > 0:
sum += (num % 10) ** 3
num //= 10
if sum == i:
print('{:<5}'.format(i), end='')
```
输出结果为:
```
153 370 371 407
```
与之前的代码相比,只需将格式化字符串中的 `^` 改为 `<` 即可实现左对齐。
相关问题
打印水仙花数。水仙花数是一个三位数,其各位数字的立方和与原数相等。 输出格式: 按递增顺序输出所有水仙花数,每个数输出占5列。
打印水仙花数是一种常见的编程练习,它的规则是检查一个三位数是否满足条件,即百位、十位和个位数字分别的三次方之和等于该数本身。例如,153就是水仙花数,因为\(1^3 + 5^3 + 3^3 = 153\)。
以下是Python中实现打印水仙花数的一种简单方法:
```python
for num in range(100, 1000): # 遍历三位数范围内的整数
digits = [int(digit) for digit in str(num)] # 将数转换成列表并获取每一位
if len(digits) != 3: # 检查是否为三位数
continue
sum_of_cubes = sum(digit ** 3 for digit in digits) # 计算每一位的三次方和
if sum_of_cubes == num: # 如果和等于原始数,则找到水仙花数
print(f"{num: >5}", end='') # 格式化输出,每行5列,并用空格填充
print()
```
运行这段代码会按照题目要求,按递增顺序输出所有水仙花数,每个数占据5列。
c语言打印水仙花数。水仙花数是一个三位数,其各位数字的立方和与原数相等。输出格式: 按递增顺序输出所有水仙花数,每个数输出占5列。
在C语言中,我们可以编写一个程序来检查并打印水仙花数。水仙花数是指一个三位数,它的百位、十位和个位数的三次方之和等于它本身。下面是一个简单的示例代码,用于完成这个任务:
```c
#include <stdio.h>
int is_armstrong_number(int num) {
int sum = 0, temp;
// 计算每一位的立方和
temp = num;
while (temp != 0) {
sum += (temp % 10) * (temp % 10) * (temp % 10);
temp /= 10;
}
// 如果和等于原数,则是水仙花数
return sum == num;
}
void print_water_lilies() {
for (int i = 100; i <= 999; i++) { // 从100到999
if (is_armstrong_number(i)) {
printf("%5d", i); // 输出占5列
}
if ((i + 1) % 100 == 0) { // 每100个数换行
printf("\n");
}
}
}
int main() {
print_water_lilies();
return 0;
}
```
当你运行这个程序,它将按照递增顺序打印出所有的水仙花数,每个数占据5列宽度。
阅读全文