finden die größte Ganzzahl -Würfel -Root weniger als eine Schwelle
In diesem Code -Snippet bestimmen das Ziel, die größte Würfel -Wurzel zu bestimmen, die eine ganze Nummer weniger als 12.000 ist. Der Code verwendet eine Weile Schleife, um eine Variable n zu verringern, bis eine Bedingung erfüllt ist.
Die Bedingung wird als n ** (1/3) == ausgedrückt, wo wir überprüfen möchten, ob das Ergebnis der Einnahme der Würfelwurzel von N eine ganze Zahl ist. Es stellt sich jedoch die Frage, wie diese Überprüfung durchgeführt werden kann.
prüfen, ob ein Float ein Ganzzahl ist
, um festzustellen, ob ein Float -Wert eine Ganzzahl ist, bietet die Methode float.is_integer (). Diese Methode kehrt wahr, wenn der Float eine Ganzzahl ist, und ansonsten falsch.
anwenden den float.is_integer () methode
ändern unseren Code, um die float.is_integer () method zu ändern:
processing = True n = 12000 while processing: n -= 1 if n ** (1/3).is_integer(): processing = False
pection = true = echt n = 12000 während der Verarbeitung: n -= 1 Wenn n ** (1/3) .IS_Integer (): pection = false
berücksichtigen für schwimmende Punkte Imprecision
Es ist wichtig zu beachten, dass das schwimmende Punktarithmetik nicht ungenau sein kann. Als solches sollten wir beim Vergleich von Floats für Gleichheit vorsichtig sein.
nach Werten in der Nähe von Ganzzahlen
Wenn wir N ** (1/3) direkt mit einer Ganzzahl vergleichen, vermissen wir die Annäherungen, die aufgrund von Unerrexision sind. Ein Ansatz besteht darin, zu prüfen, ob sich die Würfelwurzel in einem kleinen Bereich einer Ganzzahl unter Verwendung der Mathematikfunktion oder einer benutzerdefinierten Implementierung befindet.
Haftungsausschluss: Alle bereitgestellten Ressourcen stammen teilweise aus dem Internet. Wenn eine Verletzung Ihres Urheberrechts oder anderer Rechte und Interessen vorliegt, erläutern Sie bitte die detaillierten Gründe und legen Sie einen Nachweis des Urheberrechts oder Ihrer Rechte und Interessen vor und senden Sie ihn dann an die E-Mail-Adresse: [email protected] Wir werden die Angelegenheit so schnell wie möglich für Sie erledigen.
Copyright© 2022 湘ICP备2022001581号-3