Hej, jag undrar om det e någon som vet hur man på smidigaste sättet (eller i alla fall ett smidigt sätt) räknar ut största gemensamma delare för två tal. Helst i asp/vb , men de går bra i något annat språk också, huvudsaken är själva algoritmen! Jag har knappat ihop en enkel funktion för att räkna ut SGD i VB. Det kanske finns något effektivare sätt för stora tal, denna funktioner testar bara allt tänkbara tal...SGD: Största gemensamma delare
Ex, största gemensamma delare till 6 och 12 är ju 6. Vilket skulle ressultera i att programmet skrev ut 6/6 och 12/6 = 1 och 2...
Jag e i desperat behov av hjälp omgående!..:DSv: SGD: Största gemensamma delare
<code>
Public Function SGD(ByVal tal1 As Long, ByVal tal2 As Long) As Long
SGD = 0
Dim tmpTal As Long, i As Long
If tal1 < tal2 Then
tmpTal = tal2
tal2 = tal1
tal1 = tmpTal
End If
For i = Int(tal1 / 2) To 2 Step -1
If tal1 Mod i = 0 And tal2 Mod i = 0 Then
SGD = i
Exit For
End If
Next
End Function
</code>
/Johan