重庆分公司,新征程启航
为企业提供网站建设、域名注册、服务器等服务
#python累计求和,编写一个程序,从键盘输入两个整数m和n,求m和n之间(包括m和n)数字个数
创新互联建站网站建设提供从项目策划、软件开发,软件安全维护、网站优化(SEO)、网站分析、效果评估等整套的建站服务,主营业务为成都网站设计、成都网站制作,手机APP定制开发以传统方式定制建设网站,并提供域名空间备案等一条龙服务,秉承以专业、用心的态度为用户提供真诚的服务。创新互联建站深信只要达到每一位用户的要求,就会得到认可,从而选择与我们长期合作。这样,我们也可以走得更远!
s = input("input number: m=")
if not s.isnumeric():
print("Please input a number.")
return
m = int(s)
s = input("input number: n=")
if not s.isnumeric():
print("Please input a number.")
return
n = int(s)
print(f"There are {abs(n-m)+1} numbers, from {m} to {n}.")
用range生成1~n
然后用列表表达式生成1/n平方
然后求和
sum([1/pow(n,2) for n in range(1, 10)])
这是一个等差数列,可以使用等差数列的求和公式:
$$
S_n = \frac{n(a_1+a_n)}{2}
$$
其中,$n$ 是项数,$a_1$ 是首项,$a_n$ 是末项,$S_n$ 是前 $n$ 项和。
要求的数列首项为 $a_1=53$,公差为 $d=4$ (即后一项比前一项大 4),求 $n$ 需要解方程 $a_n=a_1+d(n-1)=7145$,得到 $n=\frac{7145-53}{4}+1=1773$。
将这些值带入等差数列求和公式,即可得到结果:
$$
S_{1773} = \frac{1773(53+7145)}{2} = 50{,}543{,}602
$$
因此,53+57+61+65+……+7145 的和为 50,543,602。
下面是 Python 代码实现:
Copy code
a1 = 53
d = 4
an = 7145
n = (an - a1) // d + 1 # 项数
sum = n * (a1 + an) // 2 # 求和
print(sum) # 输出结果
输出结果为:
Copy code
50543602