Problem Statement
There is an integer K. You are allowed to add to K any of its divisors not equal to 1 and K. The same operation can be applied to the resulting number and so on. Notice that starting from the number 4, we can reach any composite number by applying several such operations. For example, the number 24 can be reached starting from 4 using 5 operations: 4->6->8->12->18->24.
You will solve a more general problem. Given
Definition
- Class:
- DivisorInc
- Method:
- countOperations
- Parameters:
- int, int
- Returns:
- int
- Method signature:
- int countOperations(int N, int M)
- (be sure your method is public)
Constraints
- N will be between 4 and 100000, inclusive.
- M will be between N and 100000, inclusive.
Examples
4
24
Returns: 5
The example from the problem statement.
4
576
Returns: 14
The shortest order of operations is: 4->6->8->12->18->27->36->54->81->108->162->243->324->432->576.
486
7128
Returns: 9
The shortest order of operations is: 486->729->972->1458->2187->2916->4374->6561->6804->7128
8748
83462
Returns: 10
The shortest order of operations is: 8748->13122->19683->26244->39366->59049->78732->83106->83448->83460->83462.
235
98234
Returns: 21
4
99991
Returns: -1
The number 99991 can't be obtained because it is prime.
82736
82736
Returns: 0
We don't need any operations. N and M are already equal.
4
85678
Returns: 33
6
85678
Returns: 32
8
85678
Returns: 31
9
85678
Returns: 31
10
80998
Returns: 30
12
85678
Returns: 30
14
95014
Returns: 30
100000
100000
Returns: 0
99991
99991
Returns: 0
99990
99991
Returns: -1
4
99991
Returns: -1
99991
100000
Returns: -1
89989
89989
Returns: 0
5
5
Returns: 0
5
100000
Returns: -1
4
4
Returns: 0
4
5
Returns: -1
4
6
Returns: 1
5
5
Returns: 0
5
6
Returns: -1
8
9
Returns: -1
15
16
Returns: -1
25
27
Returns: -1
78961
79523
Returns: 2
152
72414
Returns: 19
815
79512
Returns: 16
648
70736
Returns: 16
67
89772
Returns: -1
619
64841
Returns: -1
944
60436
Returns: 14
671
54007
Returns: 17
978
90057
Returns: 16
676
12948
Returns: 10
659
78938
Returns: -1
244
38771
Returns: 18
588
77323
Returns: -1
407
23013
Returns: 14
587
40920
Returns: -1
62
78505
Returns: 23
928
18081
Returns: 10
163
6435
Returns: -1
582
39983
Returns: -1
321
54237
Returns: 17
583
74629
Returns: 18
551
75833
Returns: -1
484
61330
Returns: 16
344
67443
Returns: 18
408
84496
Returns: 18
553
34526
Returns: 15
63
39365
Returns: 21
493
27322
Returns: 15
234
20540
Returns: 14
59
99723
Returns: -1
985
53537
Returns: 14
958
41354
Returns: 14
484
12287
Returns: 11
955
6858
Returns: 8
937
18296
Returns: -1
390
5398
Returns: 11
621
29408
Returns: 14
447
1105
Returns: 5
782
77551
Returns: -1
497
47853
Returns: 15
634
71427
Returns: 16
2697
96219
Returns: 14
4834
55889
Returns: -1
9086
76594
Returns: 9
6113
57516
Returns: -1
2309
38189
Returns: -1
388
78967
Returns: 17
9897
28646
Returns: 7
6000
67194
Returns: 10
6297
66816
Returns: 10
2915
40460
Returns: 10
1262
85473
Returns: 15
967
16670
Returns: -1
5326
60485
Returns: 10
9705
74714
Returns: 10
4766
83721
Returns: 11
1981
11997
Returns: 8
2609
28706
Returns: -1
2523
85084
Returns: 14
6733
75639
Returns: -1
4246
10673
Returns: 6
4063
73030
Returns: 11
3555
17535
Returns: 7
7534
84590
Returns: 11
7742
61206
Returns: 9
4328
21101
Returns: -1
3103
20826
Returns: 9
719
49584
Returns: -1
7686
24779
Returns: 6
7898
12485
Returns: 4
465
82543
Returns: 18
6757
80471
Returns: -1
5879
90191
Returns: -1
9213
25637
Returns: 7
7340
32633
Returns: -1
7220
45460
Returns: 8
828
13374
Returns: 10
951
16013
Returns: 12
3863
61573
Returns: -1
769
87386
Returns: -1
8835
61347
Returns: 8
90447
99886
Returns: 6
43397
61548
Returns: -1
84573
89908
Returns: 4
97173
99242
Returns: 4
31068
69281
Returns: 7
12017
74874
Returns: 9
51492
52076
Returns: 3
38083
55729
Returns: -1
72501
79087
Returns: -1
97816
98562
Returns: 4
25406
70697
Returns: 7
84901
93979
Returns: -1
78617
91788
Returns: 4
56971
59329
Returns: 5
12248
73917
Returns: 8
18875
35155
Returns: 5
35294
79769
Returns: -1
44861
52808
Returns: 3
52704
90705
Returns: 6
5347
22614
Returns: -1
125
89989
Returns: -1
4
576
Returns: 14
235
98266
Returns: 20
4
10000
Returns: 23
8
83462
Returns: 29
235
98234
Returns: 21
8748
83462
Returns: 10
27
97234
Returns: 26
655
99991
Returns: -1
6
99899
Returns: 31
4
65536
Returns: 28
4
24
Returns: 5
4
100000
Returns: 30
1245
99991
Returns: -1
4
99982
Returns: 31
120
98444
Returns: 20
4
99999
Returns: 30
128
243
Returns: 3
17
17
Returns: 0
98
100
Returns: 1
4
5
Returns: -1
800
801
Returns: -1
9
100000
Returns: 28