2-3 求平方与倒数序列的部分和 (15 分)

该程序计算并输出从m到n(包括m和n)的每个正整数的平方加上其倒数的序列部分和,精确到小数点后六位。难点在于理解题目给出的序列公式,将幂运算与分数相加,通过逐项累加求得总和。

本题要求对两个正整数m和n(m≤n)编写程序,计算序列和m2+1/m+(m+1)2+1/(m+1)+⋯+n2+1/n。

输入格式:

输入在一行中给出两个正整数m和n(m≤n),其间以空格分开。

输出格式:

在一行中按照“sum = S”的格式输出部分和的值S,精确到小数点后六位。题目保证计算结果不超过双精度范围。

输入样例:

5 10

输出样例:

sum = 355.845635

这道题最大的难点在于看懂题目所给的式子,给出m,n然后带入式子求值,不经意看的话,看都可以把你看晕,我们仔细分析一下不难看出这个式子一个是求幂,一个是求分数,我们把它看作一个整体,然后一摞一摞的加起来,就简单多啦。

代码如下:

#include<stdio.h>
#include<math.h>
int main()
在 Python 中,平方倒数序列部分,即对于两个正整数 `m` `n`(`m ≤ n`),计算序列 $m^2 + \frac{1}{m} + (m + 1)^2 + \frac{1}{m + 1}+ \cdots + n^2 + \frac{1}{n}$ ,有多种实现方法。 ### 方法一:使用 `while` 循环 ```python m, n = input().split() m, n = int(m), int(n) tot = 0 while m <= n: tot += m ** 2 tot += 1 / m m += 1 print("sum = %.6f" % tot) ``` 此方法先读取输入的 `m` `n`,然后使用 `while` 循环,在 `m` 小于等于 `n` 的条件下,不断累加 $m^2$ $\frac{1}{m}$ 的值,最后输出结果,精确到小数点后六位 [^1]。 ### 方法二:另一种 `while` 循环实现 ```python m,n=input().split() m=int(m) n=int(n) sum=0 while m<=n: sum=sum+m**2 m=1/m sum=sum+m m=1/m m+=1 print("sum = %.6f"%sum) ``` 该方法同样使用 `while` 循环,在循环体中先累加 $m^2$,将 `m` 转换为其倒数后累加,再将 `m` 转换回原值,最后 `m` 加 1,直到循环条件不满足,输出结果 [^2]。 ### 方法三:使用 `map` 列表推导式 ```python m,n=map(int,input().split()) s1=sum([x*x for x in range(m,n+1)]) s2=sum([1/x for x in range(m,n+1)]) print(&#39;sum = %.6f&#39; % (s1+s2)) ``` 此方法利用 `map` 函数将输入的字符串转换为整数,然后使用列表推导式计算平方倒数,最后将两者相加并输出结果 [^3]。 ### 方法四:使用 `map` `while` 循环 ```python a, b = map(int, input().split()) sum = 0 while a <= b: sum += a ** 2 sum += 1 / a a += 1 print("sum = %.6f" % sum) ``` 该方法通过 `map` 函数读取输入的 `a` `b`,使用 `while` 循环累加平方倒数的值,最后输出结果 [^4]。 ### 方法五:使用 `map` `for` 循环 ```python m , n = map(int , input().split()) s = 0.0 if m > n: print("输入格式错误,请重新输入") else: for i in range(m , n + 1): s = s + pow(i , 2) + 1 / i print("sum = {:.6f}".format(s)) ``` 此方法先判断输入的 `m` 是否大于 `n`,若大于则提示输入错误,否则使用 `for` 循环累加平方倒数的值,最后输出结果 [^5]。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值