0
私がpowershellでコードを実行した結果は、3つの数字とその後のフリーズです。私は最初の10個の素数のすべてのログを集計しようとしています。プログラムが動作しない
番号が
1.09861228867、 1.60943791243、 1.94591014906
#summing up all the logs of the first 10 primes, excluding 2.
from math import * # library imports
import math # " "
count = 1 #1-9 gives us 9 primes in total
numb = 3 #3 is the second prime number.
logy_of_prime_sum_total = 0 #sum of log of primes starts at zero
logy = 0 #first value of log is zero
while count != 10: #loops 9 times, for a total of 9 primes.
for k in range(2,numb): #from 2 up to but not including numb.
if numb%k == 0: #purpose is to skip the else if not prime.
break #break takes us out of the for/else disj.
else:
logy_of_prime_sum_total = logy+logy_of_prime_sum_total
logy = math.log(numb) #when the else activates, we are
print(logy) #dealing with a prime, getting a value
numb += 2 #the log of it, incr. numb. by two,
count += 1 #because primes have to be odd,
#increase the count
print logy_of_prime_sum_total #print the sum of all the logs after the
#while end.
あなたの 'if'は' else'と一致しません。 'for'ループは 'prime'が3であるので無意味です。範囲は(2、3)半分開いているので、基本的には3になります。あなたはlogy_of_prime_sum_totalに割り当てません。 – user902384
基本的には恐ろしい混乱です。 – user902384
素数を計算するために使用している論理を説明すると、私たちがあなたを手助けするのに役立ちます:) – Shubham