Befreundete Zahlen V 1.00
Verfasst: 02.01.2009 18:37
Hallo!
Falls jemand befreundete Zahlen ermitteln will, hier ist der Code...
Falls jemand befreundete Zahlen ermitteln will, hier ist der Code...
Code: Alles auswählen
EnableExplicit
Procedure.i IsTeiler(iZahl.i,iTeiler.i)
Protected iQuotient.i = iZahl/iTeiler
If iTeiler*iQuotient = iZahl
ProcedureReturn 1
Else
ProcedureReturn 0
EndIf
EndProcedure
Procedure SummeAllerTeiler(iZahl.i)
Protected iSumme.i = 0 , i
For i=1 To iZahl-1
If IsTeiler(iZahl,i) = 1
iSumme.i + i
EndIf
Next i
ProcedureReturn iSumme
EndProcedure
Procedure.s AusgabeAllerTeiler(iZahl.i)
Protected sSumme.s, i
For i=1 To iZahl-1
If IsTeiler(iZahl,i) = 1
sSumme.s + Str(i)+ " + "
EndIf
Next i
ProcedureReturn sSumme
EndProcedure
Define iZahl1.i = Val(InputRequester("Befreundete Zahlen","Bitte die Zahl eingeben, von der aus gesucht werden soll:",""))
Define iZahl2.i = Val(InputRequester("Befreundete Zahlen","Bitte die Zahl eingeben, bis zu der gesucht werden soll:",""))
Define j
For j=iZahl1 To iZahl2
Define iFreund1.i = SummeAllerTeiler(j)
Define iFreund2.i = SummeAllerTeiler(iFreund1)
If iFreund2 = j And iFreund1 <> iFreund2 And iFreund1 < iFreund2
Define sAusgabe.s = AusgabeAllerTeiler(iFreund1)
sAusgabe.s = Left(sAusgabe,Len(sAusgabe)-3)
If OpenConsole()
PrintN("Freund 1 = "+sAusgabe+" = "+Str(iFreund2))
sAusgabe.s = AusgabeAllerTeiler(iFreund2)
sAusgabe.s = Left(sAusgabe,Len(sAusgabe)-3)
PrintN("Freund 2 = "+sAusgabe+" = "+Str(iFreund1))
PrintN("---")
EndIf
EndIf
Next j
MessageRequester("Befreundete Zahlen","Es wurden alle befreundeten Zahlen ermittelt.")
CloseConsole()