我刚刚开始学习Python 3,并且需要解决以下问题:
“编写一个程序,计算从1到某个数字n的所有素数的对数之和,并打印出素数的对数之和。
a。输入:整数n
b。输出:log(1),log(2),log(3),...,log(n)之和(log的底数为10)“
答案 0 :(得分:-1)
log10
模块中有一个math
函数,因此您无需弄清楚如何自己计算日志。所以你会做类似的事情:
import math
def is_prime(x):
# Write a function that returns whether x is prime
def log_sum(n):
# Return the sum of all logs for primes smaller than n
log_total = 0
for i in range(1, n+1):
if is_prime(i):
log_total += math.log10(i)
return log_total