Problem Statement

Create a class HingedDoor which contains a method numSwings. The method takes an
Definition
- Class:
- HingedDoor
- Method:
- numSwings
- Parameters:
- int, int
- Returns:
- int
- Method signature:
- int numSwings(int initialAngle, int reduction)
- (be sure your method is public)
Constraints
- initialAngle will be between 0 and 90, inclusive.
- reduction will be between 2 and 10, inclusive.
Examples
50
2
Returns: 4
In this example, the door begins with an initial angle of 50 degrees. Then, the door will swing through a reduced angle of (1/2)*(50) = 25 degrees on the first swing. At this point, the door will reverse direction, and swing through an angle of (1/2)*(25) = 12.5 degrees. Continuing in this way, the door will swing once more through (1/2)*(12.5) = 6.25 degrees, and then through (1/2)*(6.25) = 3.125 degrees. At this point, the door will come to rest. Therefore, the correct return value is 4, since the door took 4 swings before coming to rest.
45
6
Returns: 2
23
3
Returns: 2
3
3
Returns: 0
Careful! The initial angle is already below 5 degrees, so the door won't swing at all, but rather, return to rest position immediately.
73
5
Returns: 2
77
7
Returns: 2
22
4
Returns: 2
76
2
Returns: 4
74
9
Returns: 2
17
7
Returns: 1
72
3
Returns: 3
20
9
Returns: 1
73
3
Returns: 3
31
8
Returns: 1
53
5
Returns: 2
58
2
Returns: 4
89
2
Returns: 5
28
6
Returns: 1
77
2
Returns: 4
50
4
Returns: 2
63
4
Returns: 2
35
2
Returns: 3
79
2
Returns: 4
89
9
Returns: 2
12
7
Returns: 1
87
2
Returns: 5
8
2
Returns: 1
22
7
Returns: 1
69
7
Returns: 2
86
9
Returns: 2
60
7
Returns: 2
2
3
Returns: 0
27
2
Returns: 3
70
3
Returns: 3
83
3
Returns: 3
31
2
Returns: 3
29
2
Returns: 3
8
9
Returns: 1
23
8
Returns: 1
88
2
Returns: 5
52
8
Returns: 2
1
5
Returns: 0
57
9
Returns: 2
53
6
Returns: 2
73
2
Returns: 4
7
4
Returns: 1
81
7
Returns: 2
90
10
Returns: 2
26
7
Returns: 1
65
5
Returns: 2
1
2
Returns: 0
1
3
Returns: 0
1
4
Returns: 0
1
5
Returns: 0
1
6
Returns: 0
1
7
Returns: 0
1
8
Returns: 0
87
10
Returns: 2
69
9
Returns: 2
4
5
Returns: 0
10
2
Returns: 1
20
2
Returns: 2
40
2
Returns: 3
80
2
Returns: 4
5
2
Returns: 0
5
3
Returns: 0
5
7
Returns: 0
90
2
Returns: 5
5
2
Returns: 0
46
9
Returns: 2
10
2
Returns: 1
5
5
Returns: 0
45
3
Returns: 2
78
5
Returns: 2
11
10
Returns: 1
16
3
Returns: 2
30
4
Returns: 2
11
2
Returns: 2
3
3
Returns: 0
5
4
Returns: 0
21
4
Returns: 2
5
10
Returns: 0
6
2
Returns: 1
51
10
Returns: 2
6
7
Returns: 1
21
2
Returns: 3
15
3
Returns: 1
10
5
Returns: 1
5
3
Returns: 0
46
3
Returns: 3