Problem Statement
Depicted below is the Fibonacci sequence:
0, 1, 1, 2, 3, 5, 8, 13, 21, 34, ...
As you can see, each value from 2 on is the sum of the previous two values. Given the 0-based index of a Fibonacci number and an
Definition
- Class:
- BigFibonacci
- Method:
- fibNumber
- Parameters:
- String, int
- Returns:
- int
- Method signature:
- int fibNumber(String index, int M)
- (be sure your method is public)
Constraints
- index will be an integer between 0 and 1015, inclusive, with no extra leading zeroes.
- M will be between 1 and 1000000 (106).
Examples
"7"
10
Returns: 3
"5"
1
Returns: 0
"0"
23
Returns: 0
"123"
100
Returns: 82
"12121212121"
12121
Returns: 10510
"3"
100
Returns: 2
"6"
100
Returns: 8
"17"
2
Returns: 1
"47"
716632
Returns: 58801
"53"
114696
Returns: 84965
"77"
269040
Returns: 69317
"54"
341890
Returns: 177022
F54 = 86267571272. 86267571272 % 341890 = 177022.
"54"
1000000
Returns: 571272
"1000000000000000"
1000000
Returns: 546875
"100"
987654
Returns: 667359
F100 = 354224848179261915075. 354224848179261915075 % 987654 = 667359.
"300"
2521
Returns: 0
F300 = 222232244629420445529739893461909967206666939096499764990979600.
"300"
400
Returns: 0
"300"
77531
Returns: 0
F300 = 222232244629420445529739893461909967206666939096499764990979600.
"999999999999999"
999999
Returns: 664126
"38501422821537"
142016
Returns: 23458
"4690369882923"
95550
Returns: 24932
"1405796049886"
863860
Returns: 288203
"43431358011135"
108732
Returns: 92614
"3579687506406"
193732
Returns: 34196
"84751971748679"
43065
Returns: 21781
"25752471003162"
428108
Returns: 417316
"14580522501859"
550248
Returns: 334445
"112944064336649"
54327
Returns: 13
"39862375012795"
96432
Returns: 41333
"50536356089828"
5660
Returns: 2401
"286353786083"
158675
Returns: 95372
"114546486085883"
179101
Returns: 47354
"1140722218173"
510645
Returns: 11348
"3881819593810"
322525
Returns: 295030
"24201661874112"
63945
Returns: 60669
"165236558789388"
17135
Returns: 4376
"21761589328399"
613172
Returns: 369937
"144310819996"
94671
Returns: 29325
"39776865603136"
41245
Returns: 30502
"21147071332414"
94510
Returns: 35667
"1251526108233"
470900
Returns: 100978
"53092777986780"
418455
Returns: 83700
"40282523017461"
23694
Returns: 22034
"21609318615795"
775536
Returns: 294002
"10335830470752"
536169
Returns: 163470
"160355631338975"
6496
Returns: 3137
"1922627638022"
397279
Returns: 122420
"118242449247186"
117480
Returns: 24208
"2479079501303"
54826
Returns: 29479
"40"
495684
Returns: 223251
"41"
718925
Returns: 227391
"42"
30056
Returns: 25168
"43"
95226
Returns: 25685
"44"
9460
Returns: 6493
"45"
67134
Returns: 2900
"46"
115232
Returns: 89983
"47"
61625
Returns: 27323
"48"
64125
Returns: 11601
"49"
227976
Returns: 200929
"50"
44144
Returns: 20033
"51"
532440
Returns: 245954
"52"
275892
Returns: 119079
"53"
124558
Returns: 111179
"54"
689520
Returns: 345032
"55"
676512
Returns: 494509
"56"
609861
Returns: 389865
"57"
532926
Returns: 476998
"58"
251712
Returns: 139159
"59"
651963
Returns: 225617
"60"
181470
Returns: 152910