Problem Statement
Unfortunately, Bob only has enough money to buy one ticket, and he cannot see the identifier before buying a ticket. Therefore, he decides to cheat by buying a ticket and modifying its identifier to make it a winning ticket. In a single change operation, he can choose one digit, erase it, and print some other digit in the same position. No other types of modifications are allowed. He can perform any number of these change operations, but he wants to perform as few as possible to minimize the risk of getting caught.
You are given a
Definition
- Class:
- LotteryCheating
- Method:
- minimalChange
- Parameters:
- String
- Returns:
- int
- Method signature:
- int minimalChange(String ID)
- (be sure your method is public)
Constraints
- ID will contain between 1 and 10 characters, inclusive.
- Each character in ID will be between '0' and '9', inclusive.
Examples
"1"
Returns: 0
1 is the only divisor of this identifier. Since there are an odd number of divisors, it is already a winning ticket, and no changes are necessary.
"1234"
Returns: 2
One possible solution is to transform "1234" into "1024". As 1024 is 2^10, it has 11 divisors: 2^0, 2^1, ..., 2^10.
"9000000000"
Returns: 1
Bob can change the '9' into a '0'. The resulting identifier "0000000000" contains only '0's, so it is a winning ticket.
"4294967296"
Returns: 0
The initial identifier represents the integer 2^32, so it has 33 divisors.
"7654321"
Returns: 3
"0"
Returns: 0
"16"
Returns: 0
"1024"
Returns: 0
"1"
Returns: 0
"7"
Returns: 1
"9999999999"
Returns: 4
"0"
Returns: 0
"9"
Returns: 0
"4"
Returns: 0
"8"
Returns: 1
"8"
Returns: 1
"24"
Returns: 1
"55"
Returns: 1
"17"
Returns: 1
"11"
Returns: 1
"52"
Returns: 2
"76"
Returns: 1
"14"
Returns: 1
"23"
Returns: 1
"221"
Returns: 1
"685"
Returns: 1
"761"
Returns: 1
"892"
Returns: 2
"795"
Returns: 2
"431"
Returns: 1
"233"
Returns: 2
"411"
Returns: 1
"3874"
Returns: 1
"2779"
Returns: 2
"3198"
Returns: 2
"6502"
Returns: 2
"8602"
Returns: 2
"4865"
Returns: 2
"0900"
Returns: 0
"6138"
Returns: 2
"93446"
Returns: 2
"06618"
Returns: 3
"49637"
Returns: 3
"88291"
Returns: 2
"35984"
Returns: 2
"07636"
Returns: 1
"15420"
Returns: 2
"97372"
Returns: 2
"601657"
Returns: 3
"541200"
Returns: 2
"146071"
Returns: 3
"777733"
Returns: 3
"599818"
Returns: 3
"266038"
Returns: 2
"012509"
Returns: 2
"478351"
Returns: 2
"2016406"
Returns: 1
"1898414"
Returns: 2
"3988087"
Returns: 2
"7838371"
Returns: 3
"0734965"
Returns: 2
"1099683"
Returns: 3
"4849925"
Returns: 3
"5333743"
Returns: 4
"80880681"
Returns: 2
"98972282"
Returns: 4
"89078158"
Returns: 3
"61242586"
Returns: 3
"26539246"
Returns: 2
"18211976"
Returns: 3
"29520039"
Returns: 3
"18195325"
Returns: 2
"258677229"
Returns: 3
"419698255"
Returns: 3
"491250839"
Returns: 3
"396799769"
Returns: 3
"357665825"
Returns: 3
"441616335"
Returns: 4
"532825361"
Returns: 2
"862146291"
Returns: 4
"5036492934"
Returns: 4
"4059634288"
Returns: 4
"7581257444"
Returns: 4
"4429307787"
Returns: 4
"3038252037"
Returns: 4
"2975343211"
Returns: 4
"3253512226"
Returns: 3
"4070340053"
Returns: 3
"9000000009"
Returns: 1
"52"
Returns: 2
"3512"
Returns: 3
"325592"
Returns: 4
"7905938297"
Returns: 5
"9068446613"
Returns: 5
"6426159772"
Returns: 5
"6475047173"
Returns: 5
"2601086332"
Returns: 5
"9682242498"
Returns: 5
"7146915475"
Returns: 5
"9339271832"
Returns: 5
"7440088477"
Returns: 5
"6511416737"
Returns: 5
"2500013512"
Returns: 5
"69411112"
Returns: 5
"98351432"
Returns: 5
"9888888844"
Returns: 3
"7427793198"
Returns: 4
"9111111111"
Returns: 4
"9974836050"
Returns: 4
"53776"
Returns: 2
"872164"
Returns: 2
"1073676287"
Returns: 1
"9876543210"
Returns: 4
"9987624531"
Returns: 4
"99950884"
Returns: 3
"9834675892"
Returns: 4
"6666666666"
Returns: 4
"1256"
Returns: 1
"2321"
Returns: 2
"000001023"
Returns: 1
"3243545641"
Returns: 4
"12345678"
Returns: 3
"7654321999"
Returns: 3
"9510295951"
Returns: 2
"1234567890"
Returns: 4
"9877654322"
Returns: 4
"9455171152"
Returns: 4
"0519934597"
Returns: 4
"47602500"
Returns: 1
"99634680"
Returns: 4
"0001"
Returns: 0
"6384795177"
Returns: 5
"36849"
Returns: 2
"5599008971"
Returns: 4
"9399759793"
Returns: 5
"1111111111"
Returns: 4
"9999800001"
Returns: 0
"1234567897"
Returns: 4
"1010101010"
Returns: 4
"05129"
Returns: 1
"6298778321"
Returns: 2
"9876542298"
Returns: 5
"00001"
Returns: 0
"165487"
Returns: 3
"52399025"
Returns: 2
"0000121"
Returns: 0
"3124657493"
Returns: 4
"7207653577"
Returns: 5
"1225244683"
Returns: 3
"9562748977"
Returns: 4
"7889975444"
Returns: 3
"512295961"
Returns: 2
"36"
Returns: 0
"7777777777"
Returns: 4
"999800001"
Returns: 3
"3221225473"
Returns: 3
"7958803495"
Returns: 5
"9998200081"
Returns: 0
"9997733333"
Returns: 5
"9999999998"
Returns: 4
"7127361263"
Returns: 4
"166"
Returns: 1
"1111111112"
Returns: 4
"1073938441"
Returns: 0
"7427466391"
Returns: 4
"4294967295"
Returns: 1
"9111101001"
Returns: 3
"396649"
Returns: 2
"00000001"
Returns: 0
"0009"
Returns: 0
"9999807777"
Returns: 4
"116"
Returns: 1
"989898129"
Returns: 3
"9999998798"
Returns: 5
"48"
Returns: 1
"3335889635"
Returns: 4
"0121"
Returns: 0
"22"
Returns: 1
"9670031439"
Returns: 4
"294967296"
Returns: 3
"9019769"
Returns: 2
"9888544447"
Returns: 3
"148636929"
Returns: 1
"9999999994"
Returns: 4
"9090909090"
Returns: 4
"3333333333"
Returns: 4
"0048576"
Returns: 1
"7654322"
Returns: 3
"8888888888"
Returns: 4
"15"
Returns: 1
"001"
Returns: 0
"010000"
Returns: 0
"777333773"
Returns: 4
"1000000009"
Returns: 1
"9578843567"
Returns: 4
"0999800001"
Returns: 1
"248361997"
Returns: 4
"8589934592"
Returns: 4
"53941731"
Returns: 4
"5345243543"
Returns: 4
"06056049"
Returns: 1
"7456384"
Returns: 3
"8645973056"
Returns: 1
"62"
Returns: 1
"1366136613"
Returns: 4
"96"
Returns: 1
"7620591615"
Returns: 1
"000000016"
Returns: 0
"936"
Returns: 1
"1269"
Returns: 1
"9259582348"
Returns: 5
"143"
Returns: 1
"7175369"
Returns: 2
"04060401"
Returns: 2
"9999899999"
Returns: 4
"9324735953"
Returns: 4
"005536"
Returns: 1
"7234"
Returns: 2
"5074425224"
Returns: 1
"1234567891"
Returns: 3
"011"
Returns: 1
"12"
Returns: 1
"10203"
Returns: 1
"8671041"
Returns: 2
"720"
Returns: 1
"916384"
Returns: 1
"019718"
Returns: 2
"8783904592"
Returns: 5
"000100"
Returns: 0
"4294967311"
Returns: 3
"1553248479"
Returns: 4
"9999999997"
Returns: 4
"100"
Returns: 0
"234321"
Returns: 2
"23244441"
Returns: 2
"30"
Returns: 1
"35094404"
Returns: 2
"8769"
Returns: 2
"0396649"
Returns: 1
"1549914753"
Returns: 4
"912484"
Returns: 2
"1423221685"
Returns: 3
"10"
Returns: 1
"6493828391"
Returns: 4
"73741824"
Returns: 2
"7986572262"
Returns: 5
"9876543254"
Returns: 4
"24670121"
Returns: 2
"234587249"
Returns: 2
"998002"
Returns: 1
"0002748907"
Returns: 2
"8276438714"
Returns: 3
"2081169"
Returns: 2
"9360289796"
Returns: 1
"00000025"
Returns: 0
"48762289"
Returns: 0
"84389241"
Returns: 3
"144"
Returns: 0
"948089"
Returns: 2
"224"
Returns: 1
"5769"
Returns: 2
"2"
Returns: 1
"140035885"
Returns: 2
"0004"
Returns: 0
"1076"
Returns: 2
"9999799998"
Returns: 5