%code% oder allgemein %code% oder %code%
Zum Beispiel:
%Vor%Bearbeiten: oder allgemein:
%Vor%Versuchen Sie Folgendes:
%Vor%Gibt es eine vordefinierte Funktion in C ++, um zu überprüfen, ob die Zahl ein Quadrat einer beliebigen Zahl und die gleiche für den Würfel ist.
Nein, es gibt keine standardmäßigen c- oder c ++ - Funktionen, um zu überprüfen, ob eine ganze Zahl ein perfektes Quadrat oder ein perfekter Würfel ist.
Wenn Sie möchten, dass es schnell ist und vermeiden Sie die float / double-Routinen, die in den meisten Antworten erwähnt werden, dann kodieren Sie eine binäre Suche nur mit ganzen Zahlen. Wenn Sie ein n mit n ^ 2 & lt; m & lt; (n + 1) ^ 2, dann ist m kein perfektes Quadrat. Wenn m ein perfektes Quadrat ist, dann finden Sie ein n mit n ^ 2 = m. Das Problem wird diskutiert hier
Nein, aber es ist einfach, einen zu schreiben:
%Vor%Für ein perfektes Quadrat können Sie auch Folgendes tun:
%Vor%Für einen perfekten Würfel können Sie:
%Vor%Hoffe, das hilft.
Zum Identifizieren von Quadraten habe ich diesen Algorithmus in Java versucht. Mit wenig Syntaxunterschied können Sie es auch in C ++ tun. Die Logik ist, dass die Differenz zwischen jeweils zwei aufeinanderfolgenden perfekten Quadraten um 2 zunimmt. Diff (1,4) = 3, Diff (4,9) = 5, Diff (9,16) = 7, Diff (16,25 ) = 9 ..... geht weiter. Wir können dieses Phänomen verwenden, um die perfekten Quadrate zu identifizieren. Java-Code ist,
%Vor%Um die Identifizierung von Quadraten zu beschleunigen, können wir ein anderes Phänomen verwenden, die rekursive Summe der Ziffern der perfekten Quadrate ist immer 1,4,7 oder 9. So kann ein viel schneller Code sein ...
%Vor%Wir könnten die eingebaute Funktion truc verwenden -
%Vor%