Problem Statement
A number y is said to be the k-th power of a number x if y = x^k, i.e., y is the product of k copies of x.
You are given two
Definition
- Class:
- PowerOfInteger
- Method:
- greatestPower
- Parameters:
- String, String
- Returns:
- int
- Method signature:
- int greatestPower(String left, String right)
- (be sure your method is public)
Constraints
- left will be an integer between 2 and 10^12, inclusive, without extra leading zeroes.
- right will be an integer between left and 10^12, inclusive, without extra leading zeroes.
Examples
"5"
"20"
Returns: 4
The greatest power between 5 and 20 is 16=2^4.
"10"
"12"
Returns: 1
No nontrivial power of integer between 10 and 12, so return 1.
"2"
"100"
Returns: 6
"1000000000000"
"1000000000000"
Returns: 12
"549755813888"
"549755813888"
Returns: 39
"2"
"1000000000000"
Returns: 39
"100"
"101"
Returns: 2
"64"
"100"
Returns: 6
"50"
"64"
Returns: 6
"847288609443"
"847288609443"
Returns: 25
"847288600000"
"847288610000"
Returns: 25
"999869446364"
"1000000000000"
Returns: 12
"999687621521"
"1000000000000"
Returns: 12
"999687873092"
"1000000000000"
Returns: 12
"995331951492"
"996641179974"
Returns: 5
"999214379782"
"1000000000000"
Returns: 12
"897219924734"
"898088830625"
Returns: 7
"852709768329"
"853678652515"
Returns: 8
"793318700304"
"794491963389"
Returns: 9
"575882709250"
"577500611776"
Returns: 10
"742499081092"
"743349380865"
Returns: 11
"999035477086"
"1000000000000"
Returns: 12
"549552029402"
"550011441891"
Returns: 39
"677721463203"
"679063326812"
Returns: 14
"469646896892"
"470224585499"
Returns: 15
"152493545994"
"153445072747"
Returns: 16
"762457797586"
"763823806351"
Returns: 17
"67892099282"
"69310517661"
Returns: 36
"274218239917"
"275240506462"
Returns: 38
"3014328386"
"4296244642"
Returns: 32
"9714457553"
"10482061449"
Returns: 21
"31336344837"
"32290749663"
Returns: 22
"93775780317"
"94237386823"
Returns: 23
"282217733688"
"283072551509"
Returns: 24
"846474621970"
"847621457947"
Returns: 25
"2"
"828634631"
Returns: 29
"2"
"636193841"
Returns: 29
"2"
"361966080"
Returns: 28
"2"
"1016490012"
Returns: 29
"397402337"
"1649569345"
Returns: 30
"2073478186"
"3072790623"
Returns: 31
"3595552310"
"5107698095"
Returns: 32
"8247700960"
"8875942877"
Returns: 33
"16304829172"
"17279341006"
Returns: 34
"33752143483"
"34899397216"
Returns: 35
"68240188803"
"69327753975"
Returns: 36
"136733169726"
"138097519202"
Returns: 37
"274049615188"
"274965810232"
Returns: 38
"549519160329"
"550338260344"
Returns: 39
"2"
"555181487"
Returns: 29
"2"
"1036713238"
Returns: 29
"2"
"554577732"
Returns: 29
"2"
"390553755"
Returns: 28
"2"
"236652708"
Returns: 27
"2"
"1678152902"
Returns: 30
"2"
"787615330"
Returns: 29
"2"
"211917320"
Returns: 27
"2"
"1850222175"
Returns: 30
"2"
"341012225"
Returns: 28
"2"
"148462507"
Returns: 27
"2"
"255636195"
Returns: 27
"2"
"1840270347"
Returns: 30
"2"
"39633691"
Returns: 25
"2"
"857247658"
Returns: 29
"2"
"1884484298"
Returns: 30
"2"
"1591303069"
Returns: 30
"2"
"363123806"
Returns: 28
"2"
"1810508817"
Returns: 30
"2"
"23805398"
Returns: 24
"2"
"913884358"
Returns: 29
"2"
"1102596604"
Returns: 30
"2"
"1659792244"
Returns: 30
"2"
"1366402936"
Returns: 30
"2"
"1828634631"
Returns: 30
"2"
"636193841"
Returns: 29
"2"
"1361966080"
Returns: 30
"2"
"1016490012"
Returns: 29
"2"
"2649569345"
Returns: 31
"1073478186"
"4072790623"
Returns: 31
"3595552310"
"6107698095"
Returns: 32
"8247700960"
"9875942877"
Returns: 33
"15304829172"
"18279341006"
Returns: 34
"32752143483"
"35899397216"
Returns: 35
"68240188803"
"70327753975"
Returns: 36
"136733169726"
"138097519202"
Returns: 37
"274049615188"
"274965810232"
Returns: 38
"548519160329"
"550338260344"
Returns: 39
"492696344816"
"971255932362"
Returns: 39
"523200785086"
"597133982968"
Returns: 39
"336246550383"
"366670042599"
Returns: 6
"932910685100"
"968595573132"
Returns: 6
"46530676084"
"976758951622"
Returns: 39
"464784099572"
"697131618879"
Returns: 39
"262101965741"
"912460657557"
Returns: 39
"927583781952"
"978665655833"
Returns: 6
"220809334661"
"551184282969"
Returns: 39
"496815045615"
"965578450040"
Returns: 39
"348634383243"
"824662244412"
Returns: 39
"505397978806"
"823937362148"
Returns: 39
"95102648583"
"856666681576"
Returns: 39
"97019291279"
"561006183210"
Returns: 39
"33086584794"
"595743632655"
Returns: 39
"172219770564"
"201001814233"
Returns: 9
"463912736829"
"607616049148"
Returns: 39
"301579234185"
"740303741861"
Returns: 39
"170821396023"
"822984009018"
Returns: 39
"734531120952"
"780682513983"
Returns: 17
"148852289518"
"675869822957"
Returns: 39
"335686102203"
"580603939934"
Returns: 39
"292572174552"
"746329956871"
Returns: 39
"638171624593"
"692969777564"
Returns: 14
"175605393187"
"830039046302"
Returns: 39
"329930977725"
"743209376451"
Returns: 39
"90429557308"
"750450565180"
Returns: 39
"247213894768"
"895613653758"
Returns: 39
"432694844478"
"721713289947"
Returns: 39
"330080413016"
"390410361687"
Returns: 8
"45492478532"
"107380973668"
Returns: 36
"331520676993"
"453954891052"
Returns: 8
"130438970984"
"974272979912"
Returns: 39
"137771019099"
"924378353190"
Returns: 39
"379398238472"
"925801773179"
Returns: 39
"182560882951"
"300336029535"
Returns: 38
"305157960411"
"957786897373"
Returns: 39
"46403881655"
"391925741238"
Returns: 38
"1847994221"
"759861923627"
Returns: 39
"276656420798"
"921695719582"
Returns: 39
"1000000000000"
"1000000000000"
Returns: 12
"1000000000000"
"1000000000000"
Returns: 12
"1000000000000"
"1000000000000"
Returns: 12
"996250626251"
"996250626251"
Returns: 5
"1000000000000"
"1000000000000"
Returns: 12
"897410677851"
"897410677851"
Returns: 7
"852891037441"
"852891037441"
Returns: 8
"794280046581"
"794280046581"
Returns: 9
"576650390625"
"576650390625"
Returns: 10
"743008370688"
"743008370688"
Returns: 11
"1000000000000"
"1000000000000"
Returns: 12
"549755813888"
"549755813888"
Returns: 39
"678223072849"
"678223072849"
Returns: 14
"470184984576"
"470184984576"
Returns: 15
"152587890625"
"152587890625"
Returns: 16
"762939453125"
"762939453125"
Returns: 17
"68719476736"
"68719476736"
Returns: 36
"274877906944"
"274877906944"
Returns: 38
"3486784401"
"3486784401"
Returns: 20
"10460353203"
"10460353203"
Returns: 21
"31381059609"
"31381059609"
Returns: 22
"94143178827"
"94143178827"
Returns: 23
"282429536481"
"282429536481"
Returns: 24
"847288609443"
"847288609443"
Returns: 25
"67108864"
"67108864"
Returns: 26
"134217728"
"134217728"
Returns: 27
"268435456"
"268435456"
Returns: 28
"536870912"
"536870912"
Returns: 29
"1073741824"
"1073741824"
Returns: 30
"2147483648"
"2147483648"
Returns: 31
"4294967296"
"4294967296"
Returns: 32
"8589934592"
"8589934592"
Returns: 33
"17179869184"
"17179869184"
Returns: 34
"34359738368"
"34359738368"
Returns: 35
"68719476736"
"68719476736"
Returns: 36
"137438953472"
"137438953472"
Returns: 37
"274877906944"
"274877906944"
Returns: 38
"549755813888"
"549755813888"
Returns: 39
"732082482176"
"732082482176"
Returns: 5
One that gives doubles a bit of difficulty
"274794888224"
"274794888224"
Returns: 5
Another hard case for doubles
"706395741416"
"706395741416"
Returns: 3
Another double trap, the other direction
"960336273896"
"960336273896"
Returns: 3
"999999999999"
"999999999999"
Returns: 1
"999998000001"
"999998000001"
Returns: 2
"100000000951"
"100000000951"
Returns: 1
"1000000007"
"1000000007"
Returns: 1
"549755813889"
"847822609442"
Returns: 25
"100020001"
"100020001"
Returns: 2
"847288609442"
"847288609442"
Returns: 1
"2209"
"2209"
Returns: 2
"4012009"
"4012009"
Returns: 2
"2"
"8"
Returns: 3
"1002001"
"1002001"
Returns: 2
"12345678999"
"12345678999"
Returns: 1
"999999999999"
"1000000000000"
Returns: 12
"10201"
"10201"
Returns: 2
"10000200001"
"10000200001"
Returns: 2
"121066009"
"121066009"
Returns: 2
"39601"
"39601"
Returns: 2
"1234567891"
"1234567891"
Returns: 1
"169"
"169"
Returns: 2
"10000600009"
"10000600009"
Returns: 2
"35"
"37"
Returns: 2
"111111111111"
"111111111111"
Returns: 1
"15241383936"
"15241383936"
Returns: 2
"14278500637"
"14278500637"
Returns: 1
"2"
"999999999999"
Returns: 39
"778589170129"
"778589170129"
Returns: 2
"999999999997"
"999999999997"
Returns: 1
"99999999999"
"99999999999"
Returns: 1
"45209390625"
"45209390625"
Returns: 2
"4"
"4"
Returns: 2
"100000000003"
"100000000003"
Returns: 1
"121"
"121"
Returns: 2
"2476097"
"2476103"
Returns: 5
"252097800623"
"252097800623"
Returns: 1
"274877906944"
"549755813887"
Returns: 38
"549755813887"
"549755813887"
Returns: 1
"999999999993"
"999999999999"
Returns: 1
"194754273881"
"194754273881"
Returns: 7
"32"
"64"
Returns: 6
"275604541"
"275604541"
Returns: 1
"1295"
"1297"
Returns: 4
"2"
"16"
Returns: 4
"16326961729"
"16326961729"
Returns: 2
"87178291199"
"87178291199"
Returns: 1