分数矩阵(一) 题目难度:初阶 时间限制:1000ms 内存限制:64mb 题目描述 有如下矩阵: 1/1 1/2 1/3 1/2 1/1 1/2 1/3 1/2 1/1 该矩阵对角线上的元素始终是1/1,对角线两边分数分母逐个递增。 请求出这个矩阵的总和。 输入格式 输入包含多组测试数据。每行给定整数n(n<50000),表示矩阵为n*n。当n=0时,输入结束。 输出格式 输出答案,结果保留2位小数。 输入样例 3 4 0 输出样例 5.67 8.83 样例解释 当n为3时,矩阵为: 1/1 1/2 1/3 1/2 1/1 1/2 1/3 1/2 1/1 该矩阵和为5.67(四舍五入保留2位) 当n为4时,矩阵为: 1/1 1/2 1/3 1/4 1/2 1/1 1/2 1/3 1/3 1/2 1/1 1/2 1/4 1/3 1/2 1/1 该矩阵和为8.83(四舍五入保留2位) python代码
时间: 2023-09-08 17:07:49 浏览: 142
```python
while True:
n = int(input())
if n == 0:
break
total_sum = 0
for i in range(1, n+1):
total_sum += 1/i
print('%.2f' % total_sum)
```
这段代码使用了一个无限循环来读取多组测试数据,直到输入的n为0时结束。在每个测试数据中,我们使用一个循环来计算矩阵的总和。循环从1到n,每次将1/i加到总和中。最后,我们使用`'%.2f' % total_sum`来保留两位小数并打印答案。
注意:为了简化代码,这里假设输入的n都是合法的正整数。在实际应用中,你可能需要添加一些错误处理逻辑来处理非法输入。
相关问题
分数矩阵(一) 题目难度:初阶 时间限制:1000ms 内存限制:64mb 题目描述 有如下矩阵: 1/1 1/2 1/3 1/2 1/1 1/2 1/3 1/2 1/1 该矩阵对角线上的元素始终是1/1,对角线两边分数分母逐个递增。 请求出这个矩阵的总和。 输入格式 输入包含多组测试数据。每行给定整数n(n<50000),表示矩阵为n*n。当n=0时,输入结束。 输出格式 输出答案,结果保留2位小数。 python代码
这道题目可以使用Python来解决。下面是一个可能的解法:
```python
while True:
n = int(input())
if n == 0:
break
total_sum = 0
for i in range(1, n+1):
total_sum += 1/i
print('%.2f' % total_sum)
```
这段代码使用了一个无限循环来读取多组测试数据,直到输入的n为0时结束。在每个测试数据中,我们使用一个循环来计算矩阵的总和。循环从1到n,每次将1/i加到总和中。最后,我们使用`'%.2f' % total_sum`来保留两位小数并打印答案。
注意:为了简化代码,这里假设输入的n都是合法的正整数。在实际应用中,你可能需要添加一些错误处理逻辑来处理非法输入。
阅读全文