计算第一个“ n”个自然数的立方和与第一个“ n”个自然数的平方和之比。
代码:
input_int=[x for x in range (1,input_int+1)]
python=reduce(lambda x,y:x+y **3/sum(input_int) % x +y**2/sum(input_int),input_int)
x=10
解决方案输出:
62.96363636363636
预期输出:
7.857142857142857
答案 0 :(得分:0)
您的代码很难理解,甚至无法运行。
根据您对目标的描述,我可以建议一个更简单的代码来实现它:
def calc_ratio(n):
sum_3 = sum(x**3 for x in range(1, n+1))
sum_2 = sum(x**2 for x in range(1, n+1))
return sum_3 / sum_2
这将产生以下结果:
>>> calc_ratio(10)
7.857142857142857
>>> calc_ratio(100)
75.3731343283582
>>> calc_ratio(1000)
750.3748125937032
>>> calc_ratio(10000)
7500.374981250938
>>> calc_ratio(100000)
75000.37499812501
答案 1 :(得分:0)
from functools import reduce
import ast,sys
input_int = int(sys.stdin.read())
num_list = [x for x in range(1, input_int+1)]
print(reduce(lambda x, y : x + y ** 3, num_list) / reduce(lambda x, y : x + y ** ,num_list))
答案 2 :(得分:0)
试试下面的代码:
from functools import reduce
import ast,sys
input_int = int(sys.stdin.read())
num_list = [x for x in range(1, input_int+1)]
print(reduce(lambda x, y : x + y ** 3, num_list) / reduce(lambda x, y : x + y **2 ,num_list))