Løs gåden og få koordinater som resultat
Jeg har fået en gåde... Når gåden er løst, får man et sæt koordinater svarende til et sted i Aalborg-området.Nogen eksperter her, der kan løse gåden?
Sub FindAalborgDocklands()
Dim TiB
Dim cTiB As String
Dim Coordinates As String
Dim CD(0 to 4) As Integer
Dim SecretCode As Long ' Special secret variable, see cache log-book
Dim i As Integer
TiB = ????????????? ' Decimal number of bytes in one binary TeraByte
cTiB = Trim(Str(TiB))
For i = 0 To Len(cTiB) - 9
CD(i) = CheckDigit(Mid(cTiB, i + 1, 9))
Next i
Coordinates = _
"N 57 " + _
Trim(Str(CD(0) - CD(1))) + _
Trim(Str(3 * CD(4))) + _
"." + _
Trim(Str(CD(0) - CD(1))) + _
Trim(Str(CD(3) - CD(2) - CD(4))) + _
Trim(Str(CD(4))) + _
" E 009 " + _
Trim(Str(CD(2) - CD(4))) + _
Trim(Str(CD(2))) + _
"." + _
Trim(Str(CD(3))) + _
Trim(Str(CD(4))) + _
Trim(Str(CD(0) - CD(1)))
SecretCode = _
3999999# * CD(0) + _
33330# * CD(2) + _
8255# * CD(3)
End Sub
' Calculate modulus-11 check digit for a 9-digit number received as a string.
' The same calculation is used for danish social security numbers: CPR */
Function CheckDigit(CNum As String) As Integer
Dim Weight As String
Dim CheckSum As Integer
Dim Reminder As Integer
Dim i As Integer
Weight = "?????????" ' Use the weights for the check digit algorithm of danish CPR numbers.
CheckSum = 0
For i = 0 To 8
CheckSum = CheckSum + CInt(Mid(Weight, i + 1, 1)) * CInt(Mid(CNum, i + 1, 1))
Next i
Reminder = CheckSum Mod 11
Select Case Reminder
Case 0
CheckDigit = 0
Case 1
CheckDigit = -1
Case Else
CheckDigit = 11 - Reminder
End Select
End Function
