Thread Ganzzahliges Vielfaches von 2017 in der Form /^[01]+/ (14 answers)
Opened by Jigsaw at 2017-06-25 01:23

hlubenow
 2017-06-26 00:48
#186739 #186739
User since
2009-02-22
875 Artikel
BenutzerIn
[default_avatar]
Guest Jigsaw
Weiß zwar noch nicht so genau, wieso diese Lösung funktioniert

Kann ich gern noch erläutern: "use bignum;" ist nützlich, wenn man mit großen Zahlen umgehen will (logisch).
Die Zahlen von 1 bis 65535 werden in Binärstrings umgewandelt, also nach "110101001", usw.. Dadurch erhält man automatisch alle Kombinationen von 0 und 1.
sprintf() funktioniert wie printf(), sorgt also für die Umwandlung in einen Binärstring. Schreibt aber die Ausgabe in eine Variable (anstatt wie printf() auf den Bildschirm). Der Binärstring kommt also in $d an.
Da Perl nicht zwischen String und Integer unterscheidet, wird der Binärstring auch als Dezimalzahl verstanden, mit der man dann rechnen kann.

View full thread Ganzzahliges Vielfaches von 2017 in der Form /^[01]+/