Abundant odd numbers: Difference between revisions
Content added Content deleted
(Abundant odd numbers en FreeBASIC) |
|||
Line 471: | Line 471: | ||
</pre> |
</pre> |
||
=={{header|FreeBASIC}}== |
|||
{{trans|Visual Basic .NET}} |
|||
<lang freebasic> |
|||
Declare Function SumaDivisores(n As Integer) As Integer |
|||
Dim numimpar As Integer = 1 |
|||
Dim contar As Integer = 0 |
|||
Dim sumaDiv As Integer = 0 |
|||
Function SumaDivisores(n As Integer) As Integer |
|||
' Devuelve la suma de los divisores propios de n |
|||
Dim suma As Integer = 1 |
|||
Dim As Integer d, otroD |
|||
For d = 2 To Cint(Sqr(n)) |
|||
If n Mod d = 0 Then |
|||
suma += d |
|||
otroD = n \ d |
|||
If otroD <> d Then suma += otroD |
|||
End If |
|||
Next d |
|||
Return suma |
|||
End Function |
|||
' Encontrar los números requeridos por la tarea: |
|||
' primeros 25 números abundantes impares |
|||
Print "Los primeros 25 números impares abundantes:" |
|||
Do While contar < 25 |
|||
sumaDiv = SumaDivisores(numimpar) |
|||
If sumaDiv > numimpar Then |
|||
contar += 1 |
|||
Print using "######"; numimpar; |
|||
Print " suma divisoria adecuada: " & sumaDiv |
|||
End If |
|||
numimpar += 2 |
|||
Loop |
|||
' 1000er número impar abundante |
|||
Do While contar < 1000 |
|||
sumaDiv = SumaDivisores(numimpar) |
|||
If sumaDiv > numimpar Then contar += 1 |
|||
numimpar += 2 |
|||
Loop |
|||
Print Chr(10) & "1000º número impar abundante:" |
|||
Print " " & (numimpar - 2) & " suma divisoria adecuada: " & sumaDiv |
|||
' primer número impar abundante > mil millones (millardo) |
|||
numimpar = 1000000001 |
|||
Dim encontrado As Boolean = False |
|||
Do While Not encontrado |
|||
sumaDiv = SumaDivisores(numimpar) |
|||
If sumaDiv > numimpar Then |
|||
encontrado = True |
|||
Print Chr(10) & "Primer número impar abundante > 1 000 000 000:" |
|||
Print " " & numimpar & " suma divisoria adecuada: " & sumaDiv |
|||
End If |
|||
numimpar += 2 |
|||
Loop |
|||
End |
|||
</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: 4641 |
|||
4725 suma divisoria adecuada: 5195 |
|||
5355 suma divisoria adecuada: 5877 |
|||
5775 suma divisoria adecuada: 6129 |
|||
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: 11946 |
|||
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> |
|||
=={{header|Go}}== |
=={{header|Go}}== |