vb ingresa un número, determina si el número está completo y genera sus factores
(m mod i) = 0
k = m
1 a m - 1
Siguiente
Finalizar si
Por ejemplo:
Atenuar m como entero, i como entero, j como entero, k como entero
Atenuar a()
m = Val(Text1.Text)
Para h = 1 To m
ReDim a(0)
j = 0
k = 0
Para i = 1 Para h - 1
Si h Mod i = 0 Entonces
k = k + i p >
j = j + 1
ReDim Preservar a(j)
a(j) = i
Finalizar si
Siguiente i
Si h = k Entonces
Imprime h & "Es un número perfecto",
Imprime h "="; p>
Para i = 1 Para UBound(a) - 1
Imagen1.Imprimir a(i "+";
Siguiente i
Imprimir a (i)
Else
Imprimir m & "No es un número perfecto"
Finalizar si
Siguiente h p>
Información ampliada:
(1) Todos los números perfectos son números triangulares. Por ejemplo: 6=1+2+3; 28=1+2+3+...+6+7; 496=1+2+3+...+331; ... +126+127.
(2) Los recíprocos de todos los números perfectos son números armónicos. Por ejemplo: 1/1+1/2+1/3+1/6=2; 1/1+1/2+1/4+1/7+1/14+1/28=2; + 1/2+1/4+1/8+1/16+1/31+1/62+1/124+1/248+1/496=2.
(3) se puede expresar como la suma de números cúbicos impares consecutivos. Los números perfectos distintos del 6 se pueden expresar como la suma de números cúbicos impares consecutivos y aumentan periódicamente. Por ejemplo: 28=1?+3^3; 496=1^3+3^3+5^3+7^3; ; 33550336=1^3+3^3+5^3+……+125^3+127^3.
Enciclopedia Baidu-Números perfectos