Wie Finden Sie Die Führende Null In einer Reihe mit C

beispielsweise,wenn ich habe die Nummer 64,und dann seine binäre Darstellung wäre 0000 0000 0000 0000 0000 0000 0100 0000 also führende null ist 25.
denken Sie daran, ich habe um diese zu berechnen in O(1) Zeit.

bitte sagen Sie mir den richtigen Weg, das zu tun.auch wenn Ihre Komplexität ist >O(1) bitte posten Sie Ihre Antwort. danke

  • O(1) bedeutet, dass Sie variieren das problem, die Zeit zu berechnen die Lösung konstant bleibt (in etwa). Das macht keinen Sinn mit einer festen Größe problem wie deines.
  • Ist dies eine Hausaufgaben-Frage? Was haben Sie bereits versucht?
  • Ich bin nur jetzt zu bemerken, das [funktionale-Programmierung] tag-ist dies wirklich funktionale Programmierung oder benötigen Sie nur eine Funktion, die dies tut?
  • Sie können beliebig viele 0EN vor jede Zahl in einer beliebigen Basis, ohne es zu verändern. Sind Sie auf der Annahme einer 32-bit-integer-Typ? Wenn dem so ist, dann sagen Sie es. Bitte beachten Sie, dass C ist nicht verpflichtet, einen Typ mit genau 32 bits bei allen: die Größen der char/short/int/long angegeben sind nur als minima und relativ zu einander.
  • mit O(1) ist richtig hier, wenn Sie erwägen, die Größe des Problems, die Anzahl der führenden Nullen in der Binärdarstellung. Viele algorithmen dieser Komplexität abhängig von der Anzahl der führenden Nullen in der tatsächlichen Anzahl.
InformationsquelleAutor user609306 | 2011-06-04
Schreibe einen Kommentar