Problem Statement
You need to handle two extraordinarily large integers. The good news is that you don't need to perform any arithmetic operation on them. You just need to compare them and see whether they are equal or one is greater than the other.
Given two
Definition
- Class:
- ExtraordinarilyLarge
- Method:
- compare
- Parameters:
- String, String
- Returns:
- String
- Method signature:
- String compare(String x, String y)
- (be sure your method is public)
Notes
- In case you don't know about factorials, here is a quick definition: 0! is defined as 1. For any positive integer n, n! is defined as n * [(n-1)!]. For example, 5! = 5 * 4 * 3 * 2 * 1 * 0! = 120.
Constraints
- x and y will each contain between 1 and 50 characters, inclusive.
- x and y will each consist of a non-negative integer less than 109, with no extra leading zeros, followed by zero or more '!' characters.
Examples
"0!"
"1"
Returns: "x=y"
"9!"
"999999999"
Returns: "x
"9!!"
"999999999"
Returns: "x>y"
"456!!!"
"123!!!!!!"
Returns: "x
"5!"
"120"
Returns: "x=y"
"9!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!"
"999999999!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!"
Returns: "x>y"
"0!"
"1"
Returns: "x=y"
"1!"
"1"
Returns: "x=y"
"2!"
"2"
Returns: "x=y"
"6"
"3!"
Returns: "x=y"
"4!"
"24"
Returns: "x=y"
"5!"
"120"
Returns: "x=y"
"720"
"6!"
Returns: "x=y"
"5040!"
"7!!"
Returns: "x=y"
"8!!!"
"40320!!"
Returns: "x=y"
"362880!!!"
"9!!!!"
Returns: "x=y"
"10!!!!!"
"3628800!!!!"
Returns: "x=y"
"39916800!!!!!"
"11!!!!!!"
Returns: "x=y"
"12!!!!!!!"
"479001600!!!!!!"
Returns: "x=y"
"13!"
"999999999"
Returns: "x>y"
"0!!"
"1"
Returns: "x=y"
"1"
"1!!"
Returns: "x=y"
"2!!"
"2"
Returns: "x=y"
"720"
"3!!"
Returns: "x=y"
"4!!"
"999999999"
Returns: "x>y"
"0!!!"
"0"
Returns: "x>y"
"1"
"1!!!"
Returns: "x=y"
"2!!!"
"2"
Returns: "x=y"
"3!!!"
"999999999"
Returns: "x>y"
"0!"
"0"
Returns: "x>y"
"11!"
"40000000"
Returns: "x
"3!!"
"721"
Returns: "x
"3"
"2!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!"
Returns: "x>y"
"7!!!"
"3!!!!"
Returns: "x>y"
"0!"
"2"
Returns: "x
"1"
"2"
Returns: "x
"0"
"0"
Returns: "x=y"
"3!!!!"
"4!!!!"
Returns: "x
"15!"
"999999999"
Returns: "x>y"
"999999999"
"4!!"
Returns: "x
"7!!!"
"5000!!"
Returns: "x>y"
"40321"
"8!"
Returns: "x>y"
"3!"
"5"
Returns: "x>y"
"5!!"
"3!!!"
Returns: "x
"7!"
"3!!"
Returns: "x>y"
"3!"
"7"
Returns: "x
"6!"
"719"
Returns: "x>y"
"719!!"
"6!!!"
Returns: "x
"6!"
"721"
Returns: "x
"721!!!!"
"6!!!!!"
Returns: "x>y"
"3!!"
"721"
Returns: "x
"721!!!"
"3!!!!!"
Returns: "x>y"
"0"
"0!!!!"
Returns: "x
"0!"
"0!!!!!!!!!!"
Returns: "x=y"
"1"
"1!!!!!!!!!!!!!!!!"
Returns: "x=y"
"1"
"0!"
Returns: "x=y"
"1"
"0!!!!!!!!"
Returns: "x=y"
"1!!!!!!!!!!!!!!"
"0!"
Returns: "x=y"
"1!"
"0!!!!!!!!!"
Returns: "x=y"
"0!!!!!!!!!!!!!!!!!!!!!!!!!"
"1!!!!!!!!!!!!!!!!!!!!!!!!!"
Returns: "x=y"
"0!!"
"1!!"
Returns: "x=y"
"0!"
"1!"
Returns: "x=y"
"0"
"1"
Returns: "x
"1!"
"0!"
Returns: "x=y"
"12!"
"999999999"
Returns: "x
"0!"
"1!!"
Returns: "x=y"
"1!!"
"0!"
Returns: "x=y"
"999999999!!!!!!"
"100000000!"
Returns: "x>y"
"0!!!"
"1!!!!"
Returns: "x=y"
"1"
"0"
Returns: "x>y"
"0!!!"
"1!!!!!"
Returns: "x=y"
"0!!!!!!!!!!!!!!!!!!!!!!!!!!!"
"1!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!"
Returns: "x=y"
"2!!!!!!!!!!!!!!!!!!!!!!!!!!!"
"3"
Returns: "x
"1!!"
"0!!"
Returns: "x=y"
"0!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!"
"1!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!"
Returns: "x=y"
"12!!!"
"999999999!!"
Returns: "x
"10000000!!!!!!!!!!!!!!"
"100000000!!!!!!!!!!!!!!!!!!!!!!"
Returns: "x
"10000000!!!!!!!!!!!!!!!!!!!!!!"
"100000000!!!!!!!!!!!!!!!!!!!!!!"
Returns: "x
"999999999!!!"
"999999999!"
Returns: "x>y"
"2!!!!!!!!!"
"2!!"
Returns: "x=y"
"0!"
"0"
Returns: "x>y"
"3!!!!!!!!"
"720!!!!!!"
Returns: "x=y"
"456!!!"
"123!!!!!!"
Returns: "x
"0!"
"0!!"
Returns: "x=y"
"0!!"
"0!"
Returns: "x=y"
"11!"
"999999999"
Returns: "x
"1!!!"
"1!!!!!!"
Returns: "x=y"
"1!!!!!!!!!!"
"0!!!!!!!!!!"
Returns: "x=y"
"1!!!"
"0!!!"
Returns: "x=y"
"55555555!!!!!!"
"12345!!!!!!!"
Returns: "x
"1!!!!!"
"1!!!"
Returns: "x=y"
"999999999!!!!!!!!!!!"
"999999999!!!!!!!!!!!!!!!!!!!!!!"
Returns: "x
"1!!"
"1!!!!"
Returns: "x=y"
"0!"
"1!!!!"
Returns: "x=y"
"0!!!"
"1!!!"
Returns: "x=y"
"3!!"
"7!"
Returns: "x
"123"
"45"
Returns: "x>y"
"99999!!!!!!!!!!!!"
"999999999!!!"
Returns: "x>y"
"3!!!!"
"6!!!"
Returns: "x=y"
"2!!!!!!!!"
"3!!"
Returns: "x
"23"
"220"
Returns: "x
"9879991!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!"
"98779923!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!"
Returns: "x>y"
"12!"
"479001600"
Returns: "x=y"
"12345!"
"5!!"
Returns: "x>y"
"999999998!"
"999999999"
Returns: "x>y"
"2"
"1"
Returns: "x>y"
"3"
"3!"
Returns: "x
"0!!!!!!!!!!!!!!!!!!!!!!"
"0!!!!!"
Returns: "x=y"
"0"
"2"
Returns: "x
"0!!!"
"0!!"
Returns: "x=y"
"0!"
"0!!!!"
Returns: "x=y"
"0"
"1!"
Returns: "x
"0"
"0!"
Returns: "x
"0!!!"
"0!"
Returns: "x=y"
"0!!!!!!!!!"
"1!!!!!"
Returns: "x=y"
"1!"
"2!"
Returns: "x
"3!!"
"720"
Returns: "x=y"
"9!!"
"999999999!"
Returns: "x
"999999999!"
"12!!"
Returns: "x>y"
"10!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!"
"99999999!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!"
Returns: "x>y"
"0!!!!!!!!!!"
"1!!!!!!!!!!!!"
Returns: "x=y"
"100!"
"42334"
Returns: "x>y"
"2!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!"
"2"
Returns: "x=y"
"2!!!!!!!!"
"2!!!!!!!!!"
Returns: "x=y"
"16!!"
"15!!"
Returns: "x>y"
"99999999!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!"
"99999999!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!"
Returns: "x
"0!"
"0!!!"
Returns: "x=y"
"23544!!!!!"
"425324!!"
Returns: "x>y"
"1!!!!!"
"0!!!"
Returns: "x=y"
"2!!!!"
"2!!!!!!!!!"
Returns: "x=y"
"996!!!!!!"
"912323239!!!!!"
Returns: "x>y"
"999999999"
"2!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!"
Returns: "x>y"
"0!!!"
"1!!!!!!"
Returns: "x=y"
"900000000!"
"900000000"
Returns: "x>y"
"10!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!"
"10!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!"
Returns: "x>y"
"999999999!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!"
"799999999!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!"
Returns: "x>y"
"999999!!!"
"99999!!!!"
Returns: "x
"999999!!!"
"9999!!!!"
Returns: "x
"99999!!!!!!!!!!!!!!!!!!!"
"11111111!!!!!!!!!!!!!!!!!!!"
Returns: "x
"120!"
"5!"
Returns: "x>y"
"120!!"
"5!!!"
Returns: "x=y"
"14!"
"13!"
Returns: "x>y"
"1!"
"0!!"
Returns: "x=y"
"3628800!!!!"
"10!!!!!"
Returns: "x=y"
"888!!!!"
"8888!!!"
Returns: "x>y"
"0!!!"
"1!!!!!!!!!!!!!!!!!"
Returns: "x=y"
"9!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!"
"8!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!"
Returns: "x>y"
"0!!"
"0!!!!!"
Returns: "x=y"
"99!!!!!!!!!!!"
"100"
Returns: "x>y"
"5500000!!!!!!!!!!!!!!!"
"8500000!!!!!!!!!!!!!!!"
Returns: "x
"456!!!!!"
"123!!!!!!!!"
Returns: "x
"1000!!!"
"100!!!!"
Returns: "x
"99!!!"
"99"
Returns: "x>y"
"2!"
"2!!!!!!"
Returns: "x=y"
"9123990!!!"
"912549!!!!"
Returns: "x
"9999999!!!!!"
"8888888!!!!!!"
Returns: "x
"1!!!"
"0!"
Returns: "x=y"
"456!!"
"18!!!!!"
Returns: "x
"1!!"
"2!"
Returns: "x
"0!!!!!"
"1!!!!!"
Returns: "x=y"
"720!!!!!!!!!!"
"3!!!!!!!!!!!!"
Returns: "x=y"
"0!!!!!!!!!!!!!!!!!!!!!!!!!!!!!"
"1!!!!!!!"
Returns: "x=y"
"720"
"3!!"
Returns: "x=y"
"999999999!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!"
"999999999"
Returns: "x>y"