Data update
This commit is contained in:
parent
ed705008a8
commit
0df55f9f24
2196 changed files with 32999 additions and 3075 deletions
23
Task/Erd-s-Nicolas-numbers/Python/erd-s-nicolas-numbers.py
Normal file
23
Task/Erd-s-Nicolas-numbers/Python/erd-s-nicolas-numbers.py
Normal file
|
|
@ -0,0 +1,23 @@
|
|||
# erdos-nicolas.py by Xing216
|
||||
from time import perf_counter
|
||||
start = perf_counter()
|
||||
def get_div_cnt(n: int) -> None:
|
||||
divcnt,divsum = 1,1
|
||||
lmt = n/2
|
||||
f = 2
|
||||
while True:
|
||||
if f > lmt: break
|
||||
if not (n % f):
|
||||
divsum += f
|
||||
divcnt += 1
|
||||
if divsum == n: break
|
||||
f+=1
|
||||
print(f"{n:>8} equals the sum of its first {divcnt} divisors")
|
||||
max_number = 91963649
|
||||
dsum = [1 for _ in range(max_number+1)]
|
||||
for i in range(2, max_number + 1):
|
||||
for j in range(i + i, max_number + 1, i):
|
||||
if (dsum[j] == j): get_div_cnt(j)
|
||||
dsum[j] += i
|
||||
done = perf_counter() - start
|
||||
print(f"Done in: {done:.3f}s")
|
||||
Loading…
Add table
Add a link
Reference in a new issue