-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathNoOfStepsToReduceToZero.java
More file actions
30 lines (28 loc) · 905 Bytes
/
Copy pathNoOfStepsToReduceToZero.java
File metadata and controls
30 lines (28 loc) · 905 Bytes
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
//E
// Given a non-negative integer num, return the number of steps to reduce it to zero.
//If the current number is even, you have to divide it by 2,
//otherwise, you have to subtract 1 from it.
//Example:
// Input: num = 14
// Output: 6
// Explanation:
// Step 1) 14 is even; divide by 2 and obtain 7.
// Step 2) 7 is odd; subtract 1 and obtain 6.
// Step 3) 6 is even; divide by 2 and obtain 3.
// Step 4) 3 is odd; subtract 1 and obtain 2.
// Step 5) 2 is even; divide by 2 and obtain 1.
// Step 6) 1 is odd; subtract 1 and obtain 0.
public class NoOfStepsToReduceToZero {
public static int numberOfSteps (int num) {
int steps=0;
while(num!=0){
if(num%2==0){
num=num/2;
}else{
num-=1;
}
steps++;
}
return steps;
}
}