#25574: SOS!!!!!!質數又是你....


71087@stu.cchs.chc.edu.tw (~ pythOnia ChallengeR ~)

學校 : 精誠中學
編號 : 125595
來源 : [114.42.225.61]
最後登入時間 :
2021-07-25 11:13:57
a740. 质因数之和 -- 海豚原创 | From: [114.42.202.127] | 發表日期 : 2021-06-03 17:17

麻煩大神們幫忙一下~~~
 
prime=[2]
def check(a,b):
for rn in range(a,b+1):
for rn_ in prime:
c=True
if rn%rn_==0:
c=False
break
else:
continue
if c==True:
prime.append(rn)
return prime
 
#建立範圍內的質數-->用比目標小的所有質數去檢驗,整除即停止。

from sys import stdin
for n in stdin:
n=int(n);count=0;c=True
if prime[-1]<n:
check(prime[-1],n)
for rn in prime:
if n==1:
break
else:
if n%rn!=0:
continue
else:
while n%rn==0:
c=False
count+=rn
n/=rn;n=int(n)
print(count)
 
#尋找目標質因數之和.....
 
請問還能有什麼想法.........拜託了
 
#25575: Re:SOS!!!!!!質數又是你....


71087@stu.cchs.chc.edu.tw (~ pythOnia ChallengeR ~)

學校 : 精誠中學
編號 : 125595
來源 : [114.42.225.61]
最後登入時間 :
2021-07-25 11:13:57
a740. 质因数之和 -- 海豚原创 | From: [114.42.202.127] | 發表日期 : 2021-06-03 17:18

麻煩大神們幫忙一下~~~
 
prime=[2]
def check(a,b):
for rn in range(a,b+1):
for rn_ in prime:
c=True
if rn%rn_==0:
c=False
break
else:
continue
if c==True:
prime.append(rn)
return prime
 
#建立範圍內的質數-->用比目標小的所有質數去檢驗,整除即停止。

from sys import stdin
for n in stdin:
n=int(n);count=0;c=True
if prime[-1]<n:
check(prime[-1],n)
for rn in prime:
if n==1:
break
else:
if n%rn!=0:
continue
else:
while n%rn==0:
c=False
count+=rn
n/=rn;n=int(n)
print(count)
 
#尋找目標質因數之和.....
 
請問還能有什麼想法.........拜託了

 

prime=[2]
def check(a,b):
for rn in range(a,b+1):
for rn_ in prime:
c=True
if rn%rn_==0:
c=False
break
else:
continue
if c==True:
prime.append(rn)
return prime

from sys import stdin
for n in stdin:
n=int(n);count=0;c=True
if prime[-1]<n:
check(prime[-1],n)
for rn in prime:
if n==1:
break
else:
if n%rn!=0:
continue
else:
while n%rn==0:
c=False
count+=rn
n/=rn;n=int(n)
print(count)
 
ZeroJudge Forum