Ne morem ugotoviti napake, zakaj mi ne pravilno izpisuje!
Če npr. vnesem 6 za katero vem, da je to popolno število, mi vedno poleg tega izpisa izpiše še 6!!
Enako je v primeru št. 5, ki pa je nepopolno število, na koncu doda 1!
To kar dodaja je vbistvu seštevek zapisan v popolno, vsaj meni se tko zdi!
Morda zato, ker naj bi funkcija vračala integer?
Pomoč bi mi prav prišla!
Lp, Missy
Koda: Izberi vse
Function popolno(stevilo As Integer) As Integer
Dim i As Integer
popolno = 0
For i = 1 To stevilo - 1
If (stevilo Mod i) = 0 Then
popolno = popolno + i
End If
Next
If popolno = stevilo Then
MsgBox ("Število " & stevilo & " je popolno!")
Else
MsgBox ("Število " & stevilo & " ni popolno!")
End If
End Function
Sub klicpopolno()
stevilo = InputBox("Vnesi stevilo za preverjanje!")
MsgBox popolno(CInt(stevilo))
End Sub