Abundant odd numbers: Difference between revisions
Content deleted Content added
Abundant odd numbers en FreeBASIC |
Abundant odd numbers en Python |
||
Line 1,068: | Line 1,068: | ||
The first abundant odd number above one billion is:1,000,000,575 (proper sum:1,083,561,009) |
The first abundant odd number above one billion is:1,000,000,575 (proper sum:1,083,561,009) |
||
</pre> |
|||
=={{header|Python}}== |
|||
{{trans|BASIC256}} |
|||
<lang Python> |
|||
#!/usr/bin/python |
|||
numimpar = 1 |
|||
contar = 0 |
|||
sumaDiv = 0 |
|||
from math import sqrt |
|||
def SumaDivisores(n): |
|||
# Devuelve la suma de los divisores propios de n |
|||
suma = 1 |
|||
i = int(sqrt(n)) |
|||
for d in range (2, i): |
|||
if n % d == 0: |
|||
suma += d |
|||
otroD = n // d |
|||
if otroD != d: |
|||
suma += otroD |
|||
return suma |
|||
#los números requeridos por la tarea: |
|||
# primeros 25 números abundantes impares |
|||
print ("Los primeros 25 números impares abundantes:") |
|||
while contar < 25: |
|||
sumaDiv = SumaDivisores(numimpar) |
|||
if sumaDiv > numimpar: |
|||
contar += 1 |
|||
print("{0:5} suma divisoria adecuada: {1}". format(numimpar,sumaDiv)) |
|||
numimpar += 2 |
|||
#número impar abundante |
|||
while contar < 1000: |
|||
sumaDiv = SumaDivisores(numimpar) |
|||
if sumaDiv > numimpar: |
|||
contar += 1 |
|||
numimpar += 2 |
|||
print ("\n1000º número impar abundante:") |
|||
print (f' {numimpar - 2} suma divisoria adecuada: {sumaDiv}') |
|||
# primer número impar abundante > mil millones (millardo) |
|||
numimpar = 1000000001 |
|||
encontrado = False |
|||
while not encontrado: |
|||
sumaDiv = SumaDivisores(numimpar) |
|||
if sumaDiv > numimpar: |
|||
encontrado = True |
|||
print ("\nPrimer número impar abundante > 1 000 000 000:") |
|||
print (f' {numimpar} suma divisoria adecuada: {sumaDiv}') |
|||
numimpar += 2 |
|||
</lang> |
|||
{{out}} |
|||
<pre> |
|||
Los primeros 25 números impares abundantes: |
|||
945 suma divisoria adecuada: 975 |
|||
1575 suma divisoria adecuada: 1649 |
|||
2205 suma divisoria adecuada: 2241 |
|||
2835 suma divisoria adecuada: 2973 |
|||
3465 suma divisoria adecuada: 4023 |
|||
4095 suma divisoria adecuada: 4513 |
|||
4725 suma divisoria adecuada: 5195 |
|||
5355 suma divisoria adecuada: 5877 |
|||
5775 suma divisoria adecuada: 5977 |
|||
5985 suma divisoria adecuada: 6495 |
|||
6435 suma divisoria adecuada: 6669 |
|||
6615 suma divisoria adecuada: 7065 |
|||
6825 suma divisoria adecuada: 7063 |
|||
7245 suma divisoria adecuada: 7731 |
|||
7425 suma divisoria adecuada: 7455 |
|||
7875 suma divisoria adecuada: 8349 |
|||
8085 suma divisoria adecuada: 8331 |
|||
8415 suma divisoria adecuada: 8433 |
|||
8505 suma divisoria adecuada: 8967 |
|||
8925 suma divisoria adecuada: 8931 |
|||
9135 suma divisoria adecuada: 9585 |
|||
9555 suma divisoria adecuada: 9597 |
|||
9765 suma divisoria adecuada: 10203 |
|||
10395 suma divisoria adecuada: 12645 |
|||
11025 suma divisoria adecuada: 11841 |
|||
1000º número impar abundante: |
|||
492975 suma divisoria adecuada: 519361 |
|||
Primer número impar abundante > 1 000 000 000: |
|||
1000000575 suma divisoria adecuada: 1083561009 |
|||
</pre> |
</pre> |
||