PHP (38 Bytes):
Dies verwendet den gleichen Ansatz wie meine ES6-Antwort
<?=count(split(1,decbin($_GET[n])))-1;
Dies ist ein vollständiger Code, Sie müssen ihn nur in eine Datei einfügen und über den Browser mit dem Parameter darauf zugreifen n=<number>
.
PHP <4.2 (32 Bytes):
Das ist etwas kürzer:
<?=count(split(1,decbin($n)))-1;
Dies funktioniert nur dann zuverlässig auf PHP <4.2 , da die Richtlinie register_globals
gesetzt wurde Off
von PHP4.2 standardmäßig bis zu PHP5.4 (das durch dann entfernt wurde).
Wenn Sie eine php.ini
Datei mit erstellen register_globals=On
, funktioniert dies.
Um den Code zu verwenden, greifen Sie über einen Browser mit POST oder GET auf die Datei zu.
Er gab zwei wirklich gute Vorschläge, die die Funktion sehr interessant nutzen array_sum
:
38 Bytes:
<?=array_sum(str_split(decbin(1337)));
45 Bytes:
<?=array_sum(preg_split('//', decbin(1337)));
Dies ist eine wirklich großartige Idee und kann ein wenig gekürzt werden, um 36 Bytes lang zu sein:
<?=array_sum(split(1,decbin(1337)));