Visual Basic - Programa que verifique si dos numeros son numeros amigos

Life is soft - evento anual de software empresarial
 
Vista:
sin imagen de perfil

Programa que verifique si dos numeros son numeros amigos

Publicado por Alejandra (3 intervenciones) el 23/05/2016 05:41:08
Debo hacer un programa donde ingrese dos números y determinar si estos son amigos. Dos números amigos son dos números enteros positivos a y b tales que la suma de los divisores propios de uno es igual al otro número y viceversa, es decir σ(a)=b y σ(b)=a, donde σ(n) es igual a la suma de los divisores de n, sin incluir a n. (La unidad se considera divisor propio, pero no lo es el mismo número.)
Un ejemplo es el par de naturales (220, 284), ya que: Los divisores propios de 220 son 1, 2, 4, 5, 10, 11, 20, 22, 44, 55 y 110, que suman 284; Los divisores propios de 284 son 1, 2, 4, 71 y 142, que suman 220.

Mi problema que mi profesor de programación solo nos ha enseñado los ciclos: for, if, los contadores, acumuladores, while.

Mi idea del programa es usar dos listbox que sirvan para los divisores de los dos números ingresados y ahí tenia pensado usar dos textbox que sumaran los divisores que hay en cada listbox, pero no estoy segura si eso me serviría... porfavor ayuda.
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de Andres Leonardo
Val: 3.117
Oro
Ha mantenido su posición en Visual Basic (en relación al último mes)
Gráfica de Visual Basic

Programa que verifique si dos numeros son numeros amigos

Publicado por Andres Leonardo (1798 intervenciones) el 23/05/2016 15:52:33
Pues con los ciclos que te enseño el profesor es mas que suficiente lo que deberias es guardar en alguna estructura (como un list) los datos divisores y luego esto recorrerlos para sumar

text1 : para verificar si es amigo de num 2

text2: : para verificar si es el amigo de num1

list1 para guardar los divisores de num 1
list 2 para guardar los divisores de num 2

text1s = graba la suma de los divisores de num 1
text2s = graba la suma de los divisores de num 2

luego comparas si text1 = text2S y text2 = text1S son iguales .. entonces SON AMIGOS!!!

**

Con un ciclo verificas los divisores de ambos numeros y los divisores exactos los vas poniendo en el list correspondiente.
Luego sumas los contenidos de los list y los pones en los text S ya que estos deben ser la suma

Espero te sirva... Pon el avance de tu codigo a fin de ver en que mas podriamos ayudarte
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
1
Comentar
sin imagen de perfil

Programa que verifique si dos numeros son numeros amigos

Publicado por Alejandra (3 intervenciones) el 23/05/2016 22:48:12
Muchas gracias por contestarme, te entendí la mayoría y lo voy a aplicarlo, en serio gracias. Que Dios te bendiga :)
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de Andres Leonardo
Val: 3.117
Oro
Ha mantenido su posición en Visual Basic (en relación al último mes)
Gráfica de Visual Basic

Programa que verifique si dos numeros son numeros amigos

Publicado por Andres Leonardo (1798 intervenciones) el 24/05/2016 15:54:02
Ok Alejandra Muchas gracias x las Bendiciones.. me alegro que hayas entendido la idea.. si tienes alguna duda me avisas
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Programa que verifique si dos numeros son numeros amigos

Publicado por Dario Acosta (1 intervención) el 26/06/2021 04:12:32
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
Private Sub cmdcalcular_Click()
'Dado dos números diga si son amigos o no, recuerde que dos números son amigos
'si sus divisores de uno de ellos es igual al otro y viceversa por ejemplo 220 y 284 son amigos
'declarar variables
 
Dim n1, n2, s, i, s1 As Integer
 
'entrada
n1 = Val(Me.txtn1.Text)
n2 = Val(Me.txtn2.Text)
 
'proceso
For i = 1 To n1 - 1
If n1 Mod i = 0 Then
s = s + i
End If
Next
For i = 1 To n2 - 1
If n2 Mod i = 0 Then
s1 = s1 + i
End If
Next
 
If n1 = s1 And n2 = s Then
n3 = "SON AMIGOS"
Else
n3 = "NO SON AMIGOS"
End If
 
 
'salida
Me.txtn3.Text = n3
 
 
 
 
End Sub
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar