Heim >Backend-Entwicklung >C++ >Drucken Sie die Schritte zum Generieren einer Zahl der Form 2^X - 1 in einem C-Programm aus
Gegeben eine Zahl n, müssen wir die XOR-Operation verwenden, um die Schritte auszugeben, um die Zahl in die Form 2^X-1 zu bringen.
. KONTING DER STREAT, bis n n 2^x-1 wird und alle Schritte drucken
Input: 22 Output: Step 1 : Xor with 15 Step 2: Increase by 1 Step 3 : Xor with 7 Step 4: Increase by 1 Step 5 : Xor with 1 Input:7 Output: No Steps to be performed
int find_leftmost_unsetbit(int n) START STEP 1 : DECLARE AND ASSIGN ind = -1, i = 1 STEP 2 : LOOP WHILE n IF !(n & 1) THEN, ASSIGN ind WITH i END IF INCREMENT i BY 1 LEFT SHIFT n BY 1 END WHILe STEP 3 : RETURN ind STOP void perform_steps(int n) START STEP 1 : DECLARE AND ASSIGN left = find_leftmost_unsetbit(n) STEP 2 : IF left == -1 THEN, PRINT "No Steps to be performed" RETURN END IF STEP 3 : DECLARE AND ASSIGN step = 1 STEP 4 : LOOP WHILE find_leftmost_unsetbit(n) != -1 IF step % 2 == 0 THEN, INCREMENT n BY 1 PRINT "Step n : Increase by 1</p><p>" ELSE DECLARE AND ASSIGN m = find_leftmost_unsetbit(n) AND SET num = (pow(2, m) - 1) SET n = n ^ num PRINT "Step N : Xor with Num END IF INCREMENT step BY 1 END LOOP STOP
Das obige ist der detaillierte Inhalt vonDrucken Sie die Schritte zum Generieren einer Zahl der Form 2^X - 1 in einem C-Programm aus. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!