Diese Funktion ermittelt jene Ganzzahl, welche kleiner oder gleich der Wurzel der übergebenen Zahl n ist. Beispiel:
isr(38) = 6, da gilt: 6² = 36 < 38 und 7² = 49 > 36
isr(121) = 11, da gilt: 11² = 121
Function isr(ByVal n As Integer) As Integer
Dim res As Integer = 0, l As Integer = 1073741824 '= 2^30
While l > n
l >>= 2
End While
While l
If n >= res + l Then
n -= res + l
res += l << 1
End If
res >>= 1
l >>= 2
End While
Return res
End Function
Abgelegt unter
math,
Mathe,
wurzel,
root,
square,
Quadrat,
integer,
Hanzzahl,
bitwise,
bitweise,
operator,
shift,
isqrt,
isr.
Kommentare zum Snippet