Problem Statement
Fizz Buzz is a simple game used to teach kids about divisibility. The goal of the game is to say positive integers in increasing order, with a twist: You don't say the numbers divisible by 3 and 5. Instead, whenever a number was divisible by 3 you say "fizz" and for a number divisible by 5 you say "buzz". (Thus, if a number was divisible by 15, you say "fizzbuzz".)
Here is how the game starts: 1, 2, fizz, 4, buzz, fizz, 7, 8, fizz, buzz, 11, fizz, 13, 14, fizzbuzz, 16, 17, fizz, 19, buzz, fizz, 22, 23, fizz, buzz, 26, fizz, 28, 29, fizzbuzz, 31, 32, fizz, 34, buzz, fizz, ...
Fizz Buzz has also become a traditional programming interview question. However, in this problem we have a more tricky assignment for you.
You are given
Definition
- Class:
- FizzBuzzTurbo
- Method:
- counts
- Parameters:
- long, long
- Returns:
- long[]
- Method signature:
- long[] counts(long A, long B)
- (be sure your method is public)
Notes
- The return value can be quite large. Make sure to use the appropriate data type.
Constraints
- A will be between 1 and 10^18, inclusive.
- B will be between A and 10^18, inclusive.
Examples
1
4
Returns: {1, 0, 0 }
This is the sequence "1, 2, fizz, 4".
2
6
Returns: {2, 1, 0 }
This is the sequence "2, fizz, 4, buzz, fizz".
150
165
Returns: {4, 2, 2 }
This sequence begins and ends with a "fizzbuzz". There are some "fizz"es and some "buzz"es inbetween.
474747
747474
Returns: {72728, 36363, 18182 }
1
1
Returns: {0, 0, 0 }
2
2
Returns: {0, 0, 0 }
3
3
Returns: {1, 0, 0 }
10
10
Returns: {0, 1, 0 }
15
15
Returns: {0, 0, 1 }
29
29
Returns: {0, 0, 0 }
30
30
Returns: {0, 0, 1 }
31
31
Returns: {0, 0, 0 }
40
40
Returns: {0, 1, 0 }
47
47
Returns: {0, 0, 0 }
1
961574729077486878
Returns: {256419927753996501, 128209963876998250, 64104981938499125 }
1
969690745985575352
Returns: {258584198929486760, 129292099464743380, 64646049732371690 }
2
932572744790738365
Returns: {248686065277530231, 124343032638765116, 62171516319382557 }
2
942493741554318791
Returns: {251331664414485011, 125665832207242506, 62832916103621252 }
2
956161331128091222
Returns: {254976354967490992, 127488177483745496, 63744088741872748 }
3
916644652962961635
Returns: {244438574123456436, 122219287061728218, 61109643530864109 }
1
903634696377824051
Returns: {240969252367419747, 120484626183709874, 60242313091854936 }
1
997897124971294393
Returns: {266105899992345172, 133052949996172586, 66526474998086292 }
2
920481086823903147
Returns: {245461623153040840, 122730811576520420, 61365405788260209 }
4
964058125459890556
Returns: {257082166789304147, 128541083394652074, 64270541697326037 }
3
931653762392195762
Returns: {248441003304585536, 124220501652292768, 62110250826146384 }
4
955444493333250458
Returns: {254785198222200121, 127392599111100061, 63696299555550030 }
397478970173037155
539466146345280224
Returns: {37863246979264819, 18931623489632410, 9465811744816204 }
419288862274313963
790969176712720462
Returns: {99114750516908400, 49557375258454200, 24778687629227100 }
161780629001183449
792845347608024286
Returns: {168283924961824223, 84141962480912112, 42070981240456056 }
434696931263743538
444647743199529483
Returns: {2653549849542919, 1326774924771459, 663387462385730 }
321413177499911855
649669244483624756
Returns: {87534951195656774, 43767475597828388, 21883737798914193 }
139242337281418962
860605271493493969
Returns: {192363449123220002, 96181724561610000, 48090862280805001 }
167206637142521893
346688750102520063
Returns: {47861896789332845, 23930948394666422, 11965474197333212 }
290368704958546069
457487148054284990
Returns: {44564918158863712, 22282459079431857, 11141229539715928 }
359791099760826346
642920662487020178
Returns: {75501216726985022, 37750608363492511, 18875304181746255 }
722912705312276976
911866031060439261
Returns: {50387553532843277, 25193776766421638, 12596888383210819 }
853427743008756103
879888482135011683
Returns: {7056197100334821, 3528098550167410, 1764049275083706 }
299387440688073929
348413117061600967
Returns: {13073513699607210, 6536756849803605, 3268378424901803 }
326580842749285661
909699510083828883
Returns: {155498311289211526, 77749155644605762, 38874577822302882 }
192441344361172571
933187129330394372
Returns: {197532209325125813, 98766104662562906, 49383052331281454 }
314629682787953603
764176844988746931
Returns: {119879243253544888, 59939621626772444, 29969810813386222 }
267545852315582004
297985012303716089
Returns: {8117109330169090, 4058554665084545, 2029277332542272 }
142081782556603160
413837186186015024
Returns: {72468107634509831, 36234053817254916, 18117026908627457 }
664219828511882442
692370293763552053
Returns: {7506790733778563, 3753395366889281, 1876697683444641 }
378563365237109259
761899675828236788
Returns: {102223016157634008, 51111508078817004, 25555754039408502 }
49151622844844413
488242673204329915
Returns: {117090946762529467, 58545473381264734, 29272736690632367 }
306007182394072344
518835169807946873
Returns: {56754129977033208, 28377064988516604, 14188532494258302 }
195616889028066345
478903385241094354
Returns: {75543065656807469, 37771532828403734, 18885766414201868 }
67445786431842557
626112604768032264
Returns: {148977818222983923, 74488909111491961, 37244454555745980 }
101238876615718648
480743165053709728
Returns: {101201143583464288, 50600571791732144, 25300285895866072 }
82451605275412784
415325919307210627
Returns: {88766483741812758, 44383241870906379, 22191620935453190 }
208223567685839269
372594759786848683
Returns: {43832317893602511, 21916158946801256, 10958079473400627 }
838740078257909273
931180210957050015
Returns: {24650702053104198, 12325351026552099, 6162675513276050 }
252361299542933329
495535777509654126
Returns: {64846527457792213, 32423263728896107, 16211631864448053 }
709302378159832689
834851837874070572
Returns: {33479855923796770, 16739927961898385, 8369963980949192 }
487924215477189966
529348735718046729
Returns: {11046538730895138, 5523269365447568, 2761634682723784 }
21857780802393468
477351058865690896
Returns: {121464874150212648, 60732437075106324, 30366218537553162 }
186632354130213084
742376154314155338
Returns: {148198346715717935, 74099173357858967, 37049586678929484 }
539640619758087395
924674358693185075
Returns: {102675663716026048, 51337831858013025, 25668915929006512 }
700317928484694715
745791327586173994
Returns: {12126239760394474, 6063119880197237, 3031559940098619 }
13173508402927929
236913933996190656
Returns: {59664113491536728, 29832056745768364, 14916028372884182 }
668230156617098997
739271183936145495
Returns: {18944273951745733, 9472136975872866, 4736068487936434 }
479061995247225973
883329982691655739
Returns: {107804796651847937, 53902398325923968, 26951199162961985 }
254595297271140395
767046507505855292
Returns: {136653656062590639, 68326828031295320, 34163414015647660 }
662315051377427551
926459760700470193
Returns: {70438589152811372, 35219294576405686, 17609647288202842 }
279550177551909522
314286211699960353
Returns: {9262942439480222, 4631471219740110, 2315735609870056 }
63524787742327251
419228954663410715
Returns: {94854444512288924, 47427222256144462, 23713611128072231 }
474896471944502178
650353451230197547
Returns: {46788527809518766, 23394263904759383, 11697131952379691 }
502596589167164656
595932444826925350
Returns: {24889561509269519, 12444780754634760, 6222390377317379 }
560240637400990012
707254615545708373
Returns: {39203727505258230, 19601863752629115, 9800931876314557 }
59447034043076949
144897967789338044
Returns: {22786915665669626, 11393457832834813, 5696728916417406 }
510327613223700161
585834264851678456
Returns: {20135107100794212, 10067553550397106, 5033776775198553 }
669372155538435004
776734092865104488
Returns: {28629849953778529, 14314924976889265, 7157462488444632 }
395501921694716987
456119285092003500
Returns: {16164630239276404, 8082315119638202, 4041157559819101 }
151606123488146145
439548322064777662
Returns: {76784586287101738, 38392293143550869, 19196146571775435 }
996287155999621052
997183739489986253
Returns: {239088930764054, 119544465382027, 59772232691013 }
1
1000000000000000000
Returns: {266666666666666667, 133333333333333334, 66666666666666666 }
1000000000000000
1000000000000000000
Returns: {266400000000000000, 133200000000000001, 66600000000000000 }
1
999999999999999990
Returns: {266666666666666664, 133333333333333332, 66666666666666666 }
1
100000000000000000
Returns: {26666666666666667, 13333333333333334, 6666666666666666 }
1
1000000000000
Returns: {266666666667, 133333333334, 66666666666 }
1
10000000000000
Returns: {2666666666667, 1333333333334, 666666666666 }
15
1000000000000000000
Returns: {266666666666666663, 133333333333333332, 66666666666666666 }
3
1234567890123456
Returns: {329218104032922, 164609052016461, 82304526008230 }
7
999999999999999991
Returns: {266666666666666662, 133333333333333331, 66666666666666666 }
1
10000000000000000
Returns: {2666666666666667, 1333333333333334, 666666666666666 }
2
100000000000
Returns: {26666666667, 13333333334, 6666666666 }
5
18518518368518518
Returns: {4938271564938271, 2469135782469136, 1234567891234567 }
150000000000000003
150000000000000003
Returns: {1, 0, 0 }
1
1000000000
Returns: {266666667, 133333334, 66666666 }
1
100000000000
Returns: {26666666667, 13333333334, 6666666666 }
1
1000000000000000
Returns: {266666666666667, 133333333333334, 66666666666666 }
1000000000000
2000000000000
Returns: {266666666666, 133333333334, 66666666667 }
1
999999999999999999
Returns: {266666666666666667, 133333333333333333, 66666666666666666 }
15
9000000000000000
Returns: {2399999999999996, 1199999999999998, 600000000000000 }
1
100000000000000
Returns: {26666666666667, 13333333333334, 6666666666666 }
15
250157725494998535
Returns: {66708726798666272, 33354363399333136, 16677181699666569 }
17
1000000000000000000
Returns: {266666666666666663, 133333333333333332, 66666666666666665 }
1
10000000000
Returns: {2666666667, 1333333334, 666666666 }
1
123456789123456
Returns: {32921810432922, 16460905216461, 8230452608230 }
7
9
Returns: {1, 0, 0 }
10000
10000000000
Returns: {2666664000, 1333332001, 666666000 }
7
987654321987654321
Returns: {263374485863374484, 131687242931687242, 65843621465843621 }
1
99999999999999999
Returns: {26666666666666667, 13333333333333333, 6666666666666666 }
1
1111111111111111
Returns: {296296296296296, 148148148148148, 74074074074074 }
10000000000000
6666666666666666
Returns: {1775111111111111, 887555555555556, 443777777777778 }
21
39
Returns: {6, 2, 1 }
1000000000000
5000000000000
Returns: {1066666666666, 533333333334, 266666666667 }
3
5
Returns: {1, 1, 0 }
15
16
Returns: {0, 0, 1 }
3
7
Returns: {2, 1, 0 }
15
35
Returns: {5, 3, 2 }
1234567890
999888777666555444
Returns: {266637007048530015, 133318503524265007, 66659251762132504 }
5546
85910293850192845
Returns: {22909411693383280, 11454705846691640, 5727352923345820 }
3
1000000000000000000
Returns: {266666666666666667, 133333333333333334, 66666666666666666 }
1
15
Returns: {4, 2, 1 }
10000000000000
10000000050000
Returns: {13333, 6667, 3334 }
100000000000000000
1000000000000000000
Returns: {240000000000000000, 120000000000000001, 60000000000000000 }
15
31
Returns: {4, 2, 2 }
30
46
Returns: {4, 2, 2 }
3
8
Returns: {2, 1, 0 }
351435665634543
7432653265436326
Returns: {1888324693280476, 944162346640238, 472081173320119 }
2
1000000000000000000
Returns: {266666666666666667, 133333333333333334, 66666666666666666 }
10
12
Returns: {1, 1, 0 }
10
15
Returns: {1, 1, 1 }
99999999999999
999999999999999999
Returns: {266640000000000001, 133320000000000000, 66660000000000000 }
3
4
Returns: {1, 0, 0 }
15
29
Returns: {4, 2, 1 }
14
31
Returns: {4, 2, 2 }
15
18
Returns: {1, 0, 1 }
222
225
Returns: {1, 0, 1 }
1
11
Returns: {3, 2, 0 }
4
6
Returns: {1, 1, 0 }
2
300000000000000000
Returns: {80000000000000000, 40000000000000000, 20000000000000000 }
1242543221516688
337457997509021202
Returns: {89657454476667872, 44828727238333936, 22414363619166967 }
1
10000000000000129
Returns: {2666666666666701, 1333333333333350, 666666666666675 }
2119855817433555
2119855817434086
Returns: {142, 71, 36 }