1.编写程序求全部水仙花数。所谓水仙花数是指一个三位数,其各位数字立方的和等于该数。2.编写程序求1*2*3+3*4*5+…+99*100*101 表达式的值。3.编写程序求斐波那契数列第n项的值,并输出该数列。
时间: 2024-10-14 08:11:49 浏览: 33
“水仙花数”是指一个三位数,它的各位数字的立方和等于其本身
5星 · 资源好评率100%
1. 编写求水仙花数的程序,首先可以设定一个循环,遍历范围内的所有三位数(从100到999)。对于每个三位数num,将其每一位分开,计算每一位的立方和total_sum,如果total_sum等于num本身,那么num就是水仙花数。以下是Python的一个简单示例:
```python
def is_armstrong_number(num):
# 将整数转换为字符串以便获取每一位
str_num = str(num)
len_num = len(str_num)
# 计算每位数字的立方和
sum_of_cubes = sum(int(digit) ** len_num for digit in str_num)
return num == sum_of_cubes
# 测试几个例子
for i in range(100, 1000):
if is_armstrong_number(i):
print(f"{i} 是水仙花数")
```
2. 对于1*2*3+3*4*5+…+99*100*101 的表达式,这是一个典型的高斯求和问题,可以用数学公式计算,也可以编写程序来累加。这里是一个简单的Python解决方案:
```python
def calculate_series():
start = 1
end = 100
result = (start * end * (end + 1)) // 2 # 使用组合公式 n(n + 1)(2n + 1) / 6
return result
print(calculate_series())
```
3. 斐波那契数列是一个经典的递归或动态规划问题。下面是一个递归版本的Python函数:
```python
def fibonacci(n):
if n <= 0:
return "输入错误"
elif n == 1 or n == 2:
return 1
else:
return fibonacci(n - 1) + fibonacci(n - 2)
# 输出前n项
n = int(input("请输入要计算的项数:"))
for i in range(1, n + 1):
print(f"斐波那契数列第{i}项:{fibonacci(i)}")
阅读全文