Diese Funktion prüft die übergebene Zahl auf Pandigitalität in Basis p.
Eine Zahl ist pandigital, wenn sie - wahlweise mit oder ohne 0 - alle Ziffern 1 bis p jeweils einmalig enthält.
Häufig ist in der Netzliteratur nur bei Verwendung aller Ziffern 0 bis 9 Rede davon; mit diesem Snippet lässt sich die Pandigitalität gut beschränken bzw. erweitern.
Eine in Basis p pand. Zahl ist zugleich eine Permutation der Zusammensetzung aller Ziffern 0/1 bis p.
Function is_pand(ByVal n As Integer, ByVal p As Byte, _
Optional ByVal incl0 As Boolean = False) As Boolean
If CStr(n).Length + CByte(incl0) <> p Then Return False
Dim d As New List(Of Byte)
For i As Byte = CByte(incl0) To p
Dim m As Byte = n Mod 10
If d.Contains(m) Then Return False Else d.Add(m)
n \= 10
Next
Return True
End Function
Abgelegt unter
pandigital,
Permutation,
permute,
prüfen,
proof,
zahl,
number,
Basis,
basis,
Ziffer,
math,
Mathematik.
Kommentare zum Snippet