Crack the Code

The “Crack the Code” challenge is a challenge proposed by the DMCommunity. It can easily be solved by hand, but we implemented it in cDMN just for fun. :-)

Crack the Code

You need to crack a 3 digit code based on these hints:

  • 682 – one number is correct and in the correct position
  • 645 – one number is correct but in the wrong position
  • 206 – two numbers are correct but in the wrong positions
  • 738 – nothing is correct
  • 780 – one number is correct but in the wrong position.

At first glance, this is quite a difficult problem to implement in cDMN. We need a way to split a number into digits, which seems like a special string operation. However, by being creative with maths we can perform the splitting, and our problem becomes easier.

We start by creating our glossary. To represent all possible guesses, we create a type Guess, which contains all numbers between 000 and 999. This is the only type we need.

Type
Name Type Values
Guess Int [0..999]

Next, we create functions which will map every guess on their digits. E.g., units of 345 will be assigned 5, in the same way that hundreds of 123 will be assigned 1. Then we also add functions to keep track of the number of correct digits a guess has, and the number of digits in correct positions.

Function
Name Type
units of Guess Int
tens of Guess Int
hundreds of Guess Int
correct position of Guess Int
correct number of Guess Int

After defining our functions, we add our constants. Sol1 through Sol3 represent the digits of our solution in the following way: Solution = Sol1 + Sol2*10 + Sol3*100

Constant
Name Type
Sol1 Int
Sol2 Int
Sol3 Int
Solution Int

Our glossary is now finished. To model the logic of the problem, we start out by adding the formula for the solution, and the logic which will split any number into its digits.

Calc sol
U Solution
1 Sol1 + Sol2*10 + Sol3*100

Split Guess into digits
U Guess units of Guess tens of Guess hundreds of Guess
1 - Guess % 10 ((Guess - Guess%10)/10)%10 Guess/100

This might seem like a complex table, but it is not impossible to understand once you see how it works.

Next, we need a way to express the known guesses, and their information.

Known guesses
E* Guess correct position of Guess correct number of Guess
1 682 1 1
2 645 0 1
3 206 0 2
4 738 0 0
5 780 0 1

Now we need to define when a number is correct, and when a number is in the right position. For the right position, we achieve this using the following table:

correct position of Guess
C+ Guess units of Guess tens of Guess hundreds of Guess correct position of Guess
1 - Sol1 - - 1
2 - - Sol2 - 1
3 - - - Sol3 1

The above table counts the number of correct positions there are in a guess. For example, for 682 we know that exactly one of the three digits is already in the right position. This means that either the 6, the 8 or the 2 is correct. The table states that one of the three SolX constants, has to be equal to one of the digits of 682.

For the number of correct guesses, we do the same thing:

correct number of Guess
C+ Guess units of Guess tens of Guess hundreds of Guess correct number of Guess
1 - Sol1, Sol2, Sol3 - - 1
2 - - Sol1, Sol2, Sol3 - 1
3 - - - Sol1, Sol2, Sol3 1

This table works in the same way as the previous one, except that a correct digit could still be in the wrong position. So for example for 206, two of the digits need to be equal to Sol1, Sol2 or Sol3.

We can now run our model using the cDMN solver. This results in the following output:

Model 1
==========
units_of_Guess := {0->0, 1->1, 2->2, 3->3, 4->4, 5->5, 6->6, 7->7, 8->8, 9->9, 10->0, 11->1, 12->2, 13->3, 14->4, 15->5, 16->6, 17->7, 18->8, 19->9, 20->0, 21->1, 22->2, 23->3, 24->4, 25->5, 26->6, 27->7, 28->8, 29->9, 30->0, 31->1, 32->2, 33->3, 34->4, 35->5, 36->6, 37->7, 38->8, 39->9, 40->0, 41->1, 42->2, 43->3, 44->4, 45->5, 46->6, 47->7, 48->8, 49->9, 50->0, 51->1, 52->2, 53->3, 54->4, 55->5, 56->6, 57->7, 58->8, 59->9, 60->0, 61->1, 62->2, 63->3, 64->4, 65->5, 66->6, 67->7, 68->8, 69->9, 70->0, 71->1, 72->2, 73->3, 74->4, 75->5, 76->6, 77->7, 78->8, 79->9, 80->0, 81->1, 82->2, 83->3, 84->4, 85->5, 86->6, 87->7, 88->8, 89->9, 90->0, 91->1, 92->2, 93->3, 94->4, 95->5, 96->6, 97->7, 98->8, 99->9, 100->0, 101->1, 102->2, 103->3, 104->4, 105->5, 106->6, 107->7, 108->8, 109->9, 110->0, 111->1, 112->2, 113->3, 114->4, 115->5, 116->6, 117->7, 118->8, 119->9, 120->0, 121->1, 122->2, 123->3, 124->4, 125->5, 126->6, 127->7, 128->8, 129->9, 130->0, 131->1, 132->2, 133->3, 134->4, 135->5, 136->6, 137->7, 138->8, 139->9, 140->0, 141->1, 142->2, 143->3, 144->4, 145->5, 146->6, 147->7, 148->8, 149->9, 150->0, 151->1, 152->2, 153->3, 154->4, 155->5, 156->6, 157->7, 158->8, 159->9, 160->0, 161->1, 162->2, 163->3, 164->4, 165->5, 166->6, 167->7, 168->8, 169->9, 170->0, 171->1, 172->2, 173->3, 174->4, 175->5, 176->6, 177->7, 178->8, 179->9, 180->0, 181->1, 182->2, 183->3, 184->4, 185->5, 186->6, 187->7, 188->8, 189->9, 190->0, 191->1, 192->2, 193->3, 194->4, 195->5, 196->6, 197->7, 198->8, 199->9, 200->0, 201->1, 202->2, 203->3, 204->4, 205->5, 206->6, 207->7, 208->8, 209->9, 210->0, 211->1, 212->2, 213->3, 214->4, 215->5, 216->6, 217->7, 218->8, 219->9, 220->0, 221->1, 222->2, 223->3, 224->4, 225->5, 226->6, 227->7, 228->8, 229->9, 230->0, 231->1, 232->2, 233->3, 234->4, 235->5, 236->6, 237->7, 238->8, 239->9, 240->0, 241->1, 242->2, 243->3, 244->4, 245->5, 246->6, 247->7, 248->8, 249->9, 250->0, 251->1, 252->2, 253->3, 254->4, 255->5, 256->6, 257->7, 258->8, 259->9, 260->0, 261->1, 262->2, 263->3, 264->4, 265->5, 266->6, 267->7, 268->8, 269->9, 270->0, 271->1, 272->2, 273->3, 274->4, 275->5, 276->6, 277->7, 278->8, 279->9, 280->0, 281->1, 282->2, 283->3, 284->4, 285->5, 286->6, 287->7, 288->8, 289->9, 290->0, 291->1, 292->2, 293->3, 294->4, 295->5, 296->6, 297->7, 298->8, 299->9, 300->0, 301->1, 302->2, 303->3, 304->4, 305->5, 306->6, 307->7, 308->8, 309->9, 310->0, 311->1, 312->2, 313->3, 314->4, 315->5, 316->6, 317->7, 318->8, 319->9, 320->0, 321->1, 322->2, 323->3, 324->4, 325->5, 326->6, 327->7, 328->8, 329->9, 330->0, 331->1, 332->2, 333->3, 334->4, 335->5, 336->6, 337->7, 338->8, 339->9, 340->0, 341->1, 342->2, 343->3, 344->4, 345->5, 346->6, 347->7, 348->8, 349->9, 350->0, 351->1, 352->2, 353->3, 354->4, 355->5, 356->6, 357->7, 358->8, 359->9, 360->0, 361->1, 362->2, 363->3, 364->4, 365->5, 366->6, 367->7, 368->8, 369->9, 370->0, 371->1, 372->2, 373->3, 374->4, 375->5, 376->6, 377->7, 378->8, 379->9, 380->0, 381->1, 382->2, 383->3, 384->4, 385->5, 386->6, 387->7, 388->8, 389->9, 390->0, 391->1, 392->2, 393->3, 394->4, 395->5, 396->6, 397->7, 398->8, 399->9, 400->0, 401->1, 402->2, 403->3, 404->4, 405->5, 406->6, 407->7, 408->8, 409->9, 410->0, 411->1, 412->2, 413->3, 414->4, 415->5, 416->6, 417->7, 418->8, 419->9, 420->0, 421->1, 422->2, 423->3, 424->4, 425->5, 426->6, 427->7, 428->8, 429->9, 430->0, 431->1, 432->2, 433->3, 434->4, 435->5, 436->6, 437->7, 438->8, 439->9, 440->0, 441->1, 442->2, 443->3, 444->4, 445->5, 446->6, 447->7, 448->8, 449->9, 450->0, 451->1, 452->2, 453->3, 454->4, 455->5, 456->6, 457->7, 458->8, 459->9, 460->0, 461->1, 462->2, 463->3, 464->4, 465->5, 466->6, 467->7, 468->8, 469->9, 470->0, 471->1, 472->2, 473->3, 474->4, 475->5, 476->6, 477->7, 478->8, 479->9, 480->0, 481->1, 482->2, 483->3, 484->4, 485->5, 486->6, 487->7, 488->8, 489->9, 490->0, 491->1, 492->2, 493->3, 494->4, 495->5, 496->6, 497->7, 498->8, 499->9, 500->0, 501->1, 502->2, 503->3, 504->4, 505->5, 506->6, 507->7, 508->8, 509->9, 510->0, 511->1, 512->2, 513->3, 514->4, 515->5, 516->6, 517->7, 518->8, 519->9, 520->0, 521->1, 522->2, 523->3, 524->4, 525->5, 526->6, 527->7, 528->8, 529->9, 530->0, 531->1, 532->2, 533->3, 534->4, 535->5, 536->6, 537->7, 538->8, 539->9, 540->0, 541->1, 542->2, 543->3, 544->4, 545->5, 546->6, 547->7, 548->8, 549->9, 550->0, 551->1, 552->2, 553->3, 554->4, 555->5, 556->6, 557->7, 558->8, 559->9, 560->0, 561->1, 562->2, 563->3, 564->4, 565->5, 566->6, 567->7, 568->8, 569->9, 570->0, 571->1, 572->2, 573->3, 574->4, 575->5, 576->6, 577->7, 578->8, 579->9, 580->0, 581->1, 582->2, 583->3, 584->4, 585->5, 586->6, 587->7, 588->8, 589->9, 590->0, 591->1, 592->2, 593->3, 594->4, 595->5, 596->6, 597->7, 598->8, 599->9, 600->0, 601->1, 602->2, 603->3, 604->4, 605->5, 606->6, 607->7, 608->8, 609->9, 610->0, 611->1, 612->2, 613->3, 614->4, 615->5, 616->6, 617->7, 618->8, 619->9, 620->0, 621->1, 622->2, 623->3, 624->4, 625->5, 626->6, 627->7, 628->8, 629->9, 630->0, 631->1, 632->2, 633->3, 634->4, 635->5, 636->6, 637->7, 638->8, 639->9, 640->0, 641->1, 642->2, 643->3, 644->4, 645->5, 646->6, 647->7, 648->8, 649->9, 650->0, 651->1, 652->2, 653->3, 654->4, 655->5, 656->6, 657->7, 658->8, 659->9, 660->0, 661->1, 662->2, 663->3, 664->4, 665->5, 666->6, 667->7, 668->8, 669->9, 670->0, 671->1, 672->2, 673->3, 674->4, 675->5, 676->6, 677->7, 678->8, 679->9, 680->0, 681->1, 682->2, 683->3, 684->4, 685->5, 686->6, 687->7, 688->8, 689->9, 690->0, 691->1, 692->2, 693->3, 694->4, 695->5, 696->6, 697->7, 698->8, 699->9, 700->0, 701->1, 702->2, 703->3, 704->4, 705->5, 706->6, 707->7, 708->8, 709->9, 710->0, 711->1, 712->2, 713->3, 714->4, 715->5, 716->6, 717->7, 718->8, 719->9, 720->0, 721->1, 722->2, 723->3, 724->4, 725->5, 726->6, 727->7, 728->8, 729->9, 730->0, 731->1, 732->2, 733->3, 734->4, 735->5, 736->6, 737->7, 738->8, 739->9, 740->0, 741->1, 742->2, 743->3, 744->4, 745->5, 746->6, 747->7, 748->8, 749->9, 750->0, 751->1, 752->2, 753->3, 754->4, 755->5, 756->6, 757->7, 758->8, 759->9, 760->0, 761->1, 762->2, 763->3, 764->4, 765->5, 766->6, 767->7, 768->8, 769->9, 770->0, 771->1, 772->2, 773->3, 774->4, 775->5, 776->6, 777->7, 778->8, 779->9, 780->0, 781->1, 782->2, 783->3, 784->4, 785->5, 786->6, 787->7, 788->8, 789->9, 790->0, 791->1, 792->2, 793->3, 794->4, 795->5, 796->6, 797->7, 798->8, 799->9, 800->0, 801->1, 802->2, 803->3, 804->4, 805->5, 806->6, 807->7, 808->8, 809->9, 810->0, 811->1, 812->2, 813->3, 814->4, 815->5, 816->6, 817->7, 818->8, 819->9, 820->0, 821->1, 822->2, 823->3, 824->4, 825->5, 826->6, 827->7, 828->8, 829->9, 830->0, 831->1, 832->2, 833->3, 834->4, 835->5, 836->6, 837->7, 838->8, 839->9, 840->0, 841->1, 842->2, 843->3, 844->4, 845->5, 846->6, 847->7, 848->8, 849->9, 850->0, 851->1, 852->2, 853->3, 854->4, 855->5, 856->6, 857->7, 858->8, 859->9, 860->0, 861->1, 862->2, 863->3, 864->4, 865->5, 866->6, 867->7, 868->8, 869->9, 870->0, 871->1, 872->2, 873->3, 874->4, 875->5, 876->6, 877->7, 878->8, 879->9, 880->0, 881->1, 882->2, 883->3, 884->4, 885->5, 886->6, 887->7, 888->8, 889->9, 890->0, 891->1, 892->2, 893->3, 894->4, 895->5, 896->6, 897->7, 898->8, 899->9, 900->0, 901->1, 902->2, 903->3, 904->4, 905->5, 906->6, 907->7, 908->8, 909->9, 910->0, 911->1, 912->2, 913->3, 914->4, 915->5, 916->6, 917->7, 918->8, 919->9, 920->0, 921->1, 922->2, 923->3, 924->4, 925->5, 926->6, 927->7, 928->8, 929->9, 930->0, 931->1, 932->2, 933->3, 934->4, 935->5, 936->6, 937->7, 938->8, 939->9, 940->0, 941->1, 942->2, 943->3, 944->4, 945->5, 946->6, 947->7, 948->8, 949->9, 950->0, 951->1, 952->2, 953->3, 954->4, 955->5, 956->6, 957->7, 958->8, 959->9, 960->0, 961->1, 962->2, 963->3, 964->4, 965->5, 966->6, 967->7, 968->8, 969->9, 970->0, 971->1, 972->2, 973->3, 974->4, 975->5, 976->6, 977->7, 978->8, 979->9, 980->0, 981->1, 982->2, 983->3, 984->4, 985->5, 986->6, 987->7, 988->8, 989->9, 990->0, 991->1, 992->2, 993->3, 994->4, 995->5, 996->6, 997->7, 998->8, 999->9}.
tens_of_Guess := {0->0, 1->0, 2->0, 3->0, 4->0, 5->0, 6->0, 7->0, 8->0, 9->0, 10->1, 11->1, 12->1, 13->1, 14->1, 15->1, 16->1, 17->1, 18->1, 19->1, 20->2, 21->2, 22->2, 23->2, 24->2, 25->2, 26->2, 27->2, 28->2, 29->2, 30->3, 31->3, 32->3, 33->3, 34->3, 35->3, 36->3, 37->3, 38->3, 39->3, 40->4, 41->4, 42->4, 43->4, 44->4, 45->4, 46->4, 47->4, 48->4, 49->4, 50->5, 51->5, 52->5, 53->5, 54->5, 55->5, 56->5, 57->5, 58->5, 59->5, 60->6, 61->6, 62->6, 63->6, 64->6, 65->6, 66->6, 67->6, 68->6, 69->6, 70->7, 71->7, 72->7, 73->7, 74->7, 75->7, 76->7, 77->7, 78->7, 79->7, 80->8, 81->8, 82->8, 83->8, 84->8, 85->8, 86->8, 87->8, 88->8, 89->8, 90->9, 91->9, 92->9, 93->9, 94->9, 95->9, 96->9, 97->9, 98->9, 99->9, 100->0, 101->0, 102->0, 103->0, 104->0, 105->0, 106->0, 107->0, 108->0, 109->0, 110->1, 111->1, 112->1, 113->1, 114->1, 115->1, 116->1, 117->1, 118->1, 119->1, 120->2, 121->2, 122->2, 123->2, 124->2, 125->2, 126->2, 127->2, 128->2, 129->2, 130->3, 131->3, 132->3, 133->3, 134->3, 135->3, 136->3, 137->3, 138->3, 139->3, 140->4, 141->4, 142->4, 143->4, 144->4, 145->4, 146->4, 147->4, 148->4, 149->4, 150->5, 151->5, 152->5, 153->5, 154->5, 155->5, 156->5, 157->5, 158->5, 159->5, 160->6, 161->6, 162->6, 163->6, 164->6, 165->6, 166->6, 167->6, 168->6, 169->6, 170->7, 171->7, 172->7, 173->7, 174->7, 175->7, 176->7, 177->7, 178->7, 179->7, 180->8, 181->8, 182->8, 183->8, 184->8, 185->8, 186->8, 187->8, 188->8, 189->8, 190->9, 191->9, 192->9, 193->9, 194->9, 195->9, 196->9, 197->9, 198->9, 199->9, 200->0, 201->0, 202->0, 203->0, 204->0, 205->0, 206->0, 207->0, 208->0, 209->0, 210->1, 211->1, 212->1, 213->1, 214->1, 215->1, 216->1, 217->1, 218->1, 219->1, 220->2, 221->2, 222->2, 223->2, 224->2, 225->2, 226->2, 227->2, 228->2, 229->2, 230->3, 231->3, 232->3, 233->3, 234->3, 235->3, 236->3, 237->3, 238->3, 239->3, 240->4, 241->4, 242->4, 243->4, 244->4, 245->4, 246->4, 247->4, 248->4, 249->4, 250->5, 251->5, 252->5, 253->5, 254->5, 255->5, 256->5, 257->5, 258->5, 259->5, 260->6, 261->6, 262->6, 263->6, 264->6, 265->6, 266->6, 267->6, 268->6, 269->6, 270->7, 271->7, 272->7, 273->7, 274->7, 275->7, 276->7, 277->7, 278->7, 279->7, 280->8, 281->8, 282->8, 283->8, 284->8, 285->8, 286->8, 287->8, 288->8, 289->8, 290->9, 291->9, 292->9, 293->9, 294->9, 295->9, 296->9, 297->9, 298->9, 299->9, 300->0, 301->0, 302->0, 303->0, 304->0, 305->0, 306->0, 307->0, 308->0, 309->0, 310->1, 311->1, 312->1, 313->1, 314->1, 315->1, 316->1, 317->1, 318->1, 319->1, 320->2, 321->2, 322->2, 323->2, 324->2, 325->2, 326->2, 327->2, 328->2, 329->2, 330->3, 331->3, 332->3, 333->3, 334->3, 335->3, 336->3, 337->3, 338->3, 339->3, 340->4, 341->4, 342->4, 343->4, 344->4, 345->4, 346->4, 347->4, 348->4, 349->4, 350->5, 351->5, 352->5, 353->5, 354->5, 355->5, 356->5, 357->5, 358->5, 359->5, 360->6, 361->6, 362->6, 363->6, 364->6, 365->6, 366->6, 367->6, 368->6, 369->6, 370->7, 371->7, 372->7, 373->7, 374->7, 375->7, 376->7, 377->7, 378->7, 379->7, 380->8, 381->8, 382->8, 383->8, 384->8, 385->8, 386->8, 387->8, 388->8, 389->8, 390->9, 391->9, 392->9, 393->9, 394->9, 395->9, 396->9, 397->9, 398->9, 399->9, 400->0, 401->0, 402->0, 403->0, 404->0, 405->0, 406->0, 407->0, 408->0, 409->0, 410->1, 411->1, 412->1, 413->1, 414->1, 415->1, 416->1, 417->1, 418->1, 419->1, 420->2, 421->2, 422->2, 423->2, 424->2, 425->2, 426->2, 427->2, 428->2, 429->2, 430->3, 431->3, 432->3, 433->3, 434->3, 435->3, 436->3, 437->3, 438->3, 439->3, 440->4, 441->4, 442->4, 443->4, 444->4, 445->4, 446->4, 447->4, 448->4, 449->4, 450->5, 451->5, 452->5, 453->5, 454->5, 455->5, 456->5, 457->5, 458->5, 459->5, 460->6, 461->6, 462->6, 463->6, 464->6, 465->6, 466->6, 467->6, 468->6, 469->6, 470->7, 471->7, 472->7, 473->7, 474->7, 475->7, 476->7, 477->7, 478->7, 479->7, 480->8, 481->8, 482->8, 483->8, 484->8, 485->8, 486->8, 487->8, 488->8, 489->8, 490->9, 491->9, 492->9, 493->9, 494->9, 495->9, 496->9, 497->9, 498->9, 499->9, 500->0, 501->0, 502->0, 503->0, 504->0, 505->0, 506->0, 507->0, 508->0, 509->0, 510->1, 511->1, 512->1, 513->1, 514->1, 515->1, 516->1, 517->1, 518->1, 519->1, 520->2, 521->2, 522->2, 523->2, 524->2, 525->2, 526->2, 527->2, 528->2, 529->2, 530->3, 531->3, 532->3, 533->3, 534->3, 535->3, 536->3, 537->3, 538->3, 539->3, 540->4, 541->4, 542->4, 543->4, 544->4, 545->4, 546->4, 547->4, 548->4, 549->4, 550->5, 551->5, 552->5, 553->5, 554->5, 555->5, 556->5, 557->5, 558->5, 559->5, 560->6, 561->6, 562->6, 563->6, 564->6, 565->6, 566->6, 567->6, 568->6, 569->6, 570->7, 571->7, 572->7, 573->7, 574->7, 575->7, 576->7, 577->7, 578->7, 579->7, 580->8, 581->8, 582->8, 583->8, 584->8, 585->8, 586->8, 587->8, 588->8, 589->8, 590->9, 591->9, 592->9, 593->9, 594->9, 595->9, 596->9, 597->9, 598->9, 599->9, 600->0, 601->0, 602->0, 603->0, 604->0, 605->0, 606->0, 607->0, 608->0, 609->0, 610->1, 611->1, 612->1, 613->1, 614->1, 615->1, 616->1, 617->1, 618->1, 619->1, 620->2, 621->2, 622->2, 623->2, 624->2, 625->2, 626->2, 627->2, 628->2, 629->2, 630->3, 631->3, 632->3, 633->3, 634->3, 635->3, 636->3, 637->3, 638->3, 639->3, 640->4, 641->4, 642->4, 643->4, 644->4, 645->4, 646->4, 647->4, 648->4, 649->4, 650->5, 651->5, 652->5, 653->5, 654->5, 655->5, 656->5, 657->5, 658->5, 659->5, 660->6, 661->6, 662->6, 663->6, 664->6, 665->6, 666->6, 667->6, 668->6, 669->6, 670->7, 671->7, 672->7, 673->7, 674->7, 675->7, 676->7, 677->7, 678->7, 679->7, 680->8, 681->8, 682->8, 683->8, 684->8, 685->8, 686->8, 687->8, 688->8, 689->8, 690->9, 691->9, 692->9, 693->9, 694->9, 695->9, 696->9, 697->9, 698->9, 699->9, 700->0, 701->0, 702->0, 703->0, 704->0, 705->0, 706->0, 707->0, 708->0, 709->0, 710->1, 711->1, 712->1, 713->1, 714->1, 715->1, 716->1, 717->1, 718->1, 719->1, 720->2, 721->2, 722->2, 723->2, 724->2, 725->2, 726->2, 727->2, 728->2, 729->2, 730->3, 731->3, 732->3, 733->3, 734->3, 735->3, 736->3, 737->3, 738->3, 739->3, 740->4, 741->4, 742->4, 743->4, 744->4, 745->4, 746->4, 747->4, 748->4, 749->4, 750->5, 751->5, 752->5, 753->5, 754->5, 755->5, 756->5, 757->5, 758->5, 759->5, 760->6, 761->6, 762->6, 763->6, 764->6, 765->6, 766->6, 767->6, 768->6, 769->6, 770->7, 771->7, 772->7, 773->7, 774->7, 775->7, 776->7, 777->7, 778->7, 779->7, 780->8, 781->8, 782->8, 783->8, 784->8, 785->8, 786->8, 787->8, 788->8, 789->8, 790->9, 791->9, 792->9, 793->9, 794->9, 795->9, 796->9, 797->9, 798->9, 799->9, 800->0, 801->0, 802->0, 803->0, 804->0, 805->0, 806->0, 807->0, 808->0, 809->0, 810->1, 811->1, 812->1, 813->1, 814->1, 815->1, 816->1, 817->1, 818->1, 819->1, 820->2, 821->2, 822->2, 823->2, 824->2, 825->2, 826->2, 827->2, 828->2, 829->2, 830->3, 831->3, 832->3, 833->3, 834->3, 835->3, 836->3, 837->3, 838->3, 839->3, 840->4, 841->4, 842->4, 843->4, 844->4, 845->4, 846->4, 847->4, 848->4, 849->4, 850->5, 851->5, 852->5, 853->5, 854->5, 855->5, 856->5, 857->5, 858->5, 859->5, 860->6, 861->6, 862->6, 863->6, 864->6, 865->6, 866->6, 867->6, 868->6, 869->6, 870->7, 871->7, 872->7, 873->7, 874->7, 875->7, 876->7, 877->7, 878->7, 879->7, 880->8, 881->8, 882->8, 883->8, 884->8, 885->8, 886->8, 887->8, 888->8, 889->8, 890->9, 891->9, 892->9, 893->9, 894->9, 895->9, 896->9, 897->9, 898->9, 899->9, 900->0, 901->0, 902->0, 903->0, 904->0, 905->0, 906->0, 907->0, 908->0, 909->0, 910->1, 911->1, 912->1, 913->1, 914->1, 915->1, 916->1, 917->1, 918->1, 919->1, 920->2, 921->2, 922->2, 923->2, 924->2, 925->2, 926->2, 927->2, 928->2, 929->2, 930->3, 931->3, 932->3, 933->3, 934->3, 935->3, 936->3, 937->3, 938->3, 939->3, 940->4, 941->4, 942->4, 943->4, 944->4, 945->4, 946->4, 947->4, 948->4, 949->4, 950->5, 951->5, 952->5, 953->5, 954->5, 955->5, 956->5, 957->5, 958->5, 959->5, 960->6, 961->6, 962->6, 963->6, 964->6, 965->6, 966->6, 967->6, 968->6, 969->6, 970->7, 971->7, 972->7, 973->7, 974->7, 975->7, 976->7, 977->7, 978->7, 979->7, 980->8, 981->8, 982->8, 983->8, 984->8, 985->8, 986->8, 987->8, 988->8, 989->8, 990->9, 991->9, 992->9, 993->9, 994->9, 995->9, 996->9, 997->9, 998->9, 999->9}.
hundreds_of_Guess := {0->0, 1->0, 2->0, 3->0, 4->0, 5->0, 6->0, 7->0, 8->0, 9->0, 10->0, 11->0, 12->0, 13->0, 14->0, 15->0, 16->0, 17->0, 18->0, 19->0, 20->0, 21->0, 22->0, 23->0, 24->0, 25->0, 26->0, 27->0, 28->0, 29->0, 30->0, 31->0, 32->0, 33->0, 34->0, 35->0, 36->0, 37->0, 38->0, 39->0, 40->0, 41->0, 42->0, 43->0, 44->0, 45->0, 46->0, 47->0, 48->0, 49->0, 50->0, 51->0, 52->0, 53->0, 54->0, 55->0, 56->0, 57->0, 58->0, 59->0, 60->0, 61->0, 62->0, 63->0, 64->0, 65->0, 66->0, 67->0, 68->0, 69->0, 70->0, 71->0, 72->0, 73->0, 74->0, 75->0, 76->0, 77->0, 78->0, 79->0, 80->0, 81->0, 82->0, 83->0, 84->0, 85->0, 86->0, 87->0, 88->0, 89->0, 90->0, 91->0, 92->0, 93->0, 94->0, 95->0, 96->0, 97->0, 98->0, 99->0, 100->1, 101->1, 102->1, 103->1, 104->1, 105->1, 106->1, 107->1, 108->1, 109->1, 110->1, 111->1, 112->1, 113->1, 114->1, 115->1, 116->1, 117->1, 118->1, 119->1, 120->1, 121->1, 122->1, 123->1, 124->1, 125->1, 126->1, 127->1, 128->1, 129->1, 130->1, 131->1, 132->1, 133->1, 134->1, 135->1, 136->1, 137->1, 138->1, 139->1, 140->1, 141->1, 142->1, 143->1, 144->1, 145->1, 146->1, 147->1, 148->1, 149->1, 150->1, 151->1, 152->1, 153->1, 154->1, 155->1, 156->1, 157->1, 158->1, 159->1, 160->1, 161->1, 162->1, 163->1, 164->1, 165->1, 166->1, 167->1, 168->1, 169->1, 170->1, 171->1, 172->1, 173->1, 174->1, 175->1, 176->1, 177->1, 178->1, 179->1, 180->1, 181->1, 182->1, 183->1, 184->1, 185->1, 186->1, 187->1, 188->1, 189->1, 190->1, 191->1, 192->1, 193->1, 194->1, 195->1, 196->1, 197->1, 198->1, 199->1, 200->2, 201->2, 202->2, 203->2, 204->2, 205->2, 206->2, 207->2, 208->2, 209->2, 210->2, 211->2, 212->2, 213->2, 214->2, 215->2, 216->2, 217->2, 218->2, 219->2, 220->2, 221->2, 222->2, 223->2, 224->2, 225->2, 226->2, 227->2, 228->2, 229->2, 230->2, 231->2, 232->2, 233->2, 234->2, 235->2, 236->2, 237->2, 238->2, 239->2, 240->2, 241->2, 242->2, 243->2, 244->2, 245->2, 246->2, 247->2, 248->2, 249->2, 250->2, 251->2, 252->2, 253->2, 254->2, 255->2, 256->2, 257->2, 258->2, 259->2, 260->2, 261->2, 262->2, 263->2, 264->2, 265->2, 266->2, 267->2, 268->2, 269->2, 270->2, 271->2, 272->2, 273->2, 274->2, 275->2, 276->2, 277->2, 278->2, 279->2, 280->2, 281->2, 282->2, 283->2, 284->2, 285->2, 286->2, 287->2, 288->2, 289->2, 290->2, 291->2, 292->2, 293->2, 294->2, 295->2, 296->2, 297->2, 298->2, 299->2, 300->3, 301->3, 302->3, 303->3, 304->3, 305->3, 306->3, 307->3, 308->3, 309->3, 310->3, 311->3, 312->3, 313->3, 314->3, 315->3, 316->3, 317->3, 318->3, 319->3, 320->3, 321->3, 322->3, 323->3, 324->3, 325->3, 326->3, 327->3, 328->3, 329->3, 330->3, 331->3, 332->3, 333->3, 334->3, 335->3, 336->3, 337->3, 338->3, 339->3, 340->3, 341->3, 342->3, 343->3, 344->3, 345->3, 346->3, 347->3, 348->3, 349->3, 350->3, 351->3, 352->3, 353->3, 354->3, 355->3, 356->3, 357->3, 358->3, 359->3, 360->3, 361->3, 362->3, 363->3, 364->3, 365->3, 366->3, 367->3, 368->3, 369->3, 370->3, 371->3, 372->3, 373->3, 374->3, 375->3, 376->3, 377->3, 378->3, 379->3, 380->3, 381->3, 382->3, 383->3, 384->3, 385->3, 386->3, 387->3, 388->3, 389->3, 390->3, 391->3, 392->3, 393->3, 394->3, 395->3, 396->3, 397->3, 398->3, 399->3, 400->4, 401->4, 402->4, 403->4, 404->4, 405->4, 406->4, 407->4, 408->4, 409->4, 410->4, 411->4, 412->4, 413->4, 414->4, 415->4, 416->4, 417->4, 418->4, 419->4, 420->4, 421->4, 422->4, 423->4, 424->4, 425->4, 426->4, 427->4, 428->4, 429->4, 430->4, 431->4, 432->4, 433->4, 434->4, 435->4, 436->4, 437->4, 438->4, 439->4, 440->4, 441->4, 442->4, 443->4, 444->4, 445->4, 446->4, 447->4, 448->4, 449->4, 450->4, 451->4, 452->4, 453->4, 454->4, 455->4, 456->4, 457->4, 458->4, 459->4, 460->4, 461->4, 462->4, 463->4, 464->4, 465->4, 466->4, 467->4, 468->4, 469->4, 470->4, 471->4, 472->4, 473->4, 474->4, 475->4, 476->4, 477->4, 478->4, 479->4, 480->4, 481->4, 482->4, 483->4, 484->4, 485->4, 486->4, 487->4, 488->4, 489->4, 490->4, 491->4, 492->4, 493->4, 494->4, 495->4, 496->4, 497->4, 498->4, 499->4, 500->5, 501->5, 502->5, 503->5, 504->5, 505->5, 506->5, 507->5, 508->5, 509->5, 510->5, 511->5, 512->5, 513->5, 514->5, 515->5, 516->5, 517->5, 518->5, 519->5, 520->5, 521->5, 522->5, 523->5, 524->5, 525->5, 526->5, 527->5, 528->5, 529->5, 530->5, 531->5, 532->5, 533->5, 534->5, 535->5, 536->5, 537->5, 538->5, 539->5, 540->5, 541->5, 542->5, 543->5, 544->5, 545->5, 546->5, 547->5, 548->5, 549->5, 550->5, 551->5, 552->5, 553->5, 554->5, 555->5, 556->5, 557->5, 558->5, 559->5, 560->5, 561->5, 562->5, 563->5, 564->5, 565->5, 566->5, 567->5, 568->5, 569->5, 570->5, 571->5, 572->5, 573->5, 574->5, 575->5, 576->5, 577->5, 578->5, 579->5, 580->5, 581->5, 582->5, 583->5, 584->5, 585->5, 586->5, 587->5, 588->5, 589->5, 590->5, 591->5, 592->5, 593->5, 594->5, 595->5, 596->5, 597->5, 598->5, 599->5, 600->6, 601->6, 602->6, 603->6, 604->6, 605->6, 606->6, 607->6, 608->6, 609->6, 610->6, 611->6, 612->6, 613->6, 614->6, 615->6, 616->6, 617->6, 618->6, 619->6, 620->6, 621->6, 622->6, 623->6, 624->6, 625->6, 626->6, 627->6, 628->6, 629->6, 630->6, 631->6, 632->6, 633->6, 634->6, 635->6, 636->6, 637->6, 638->6, 639->6, 640->6, 641->6, 642->6, 643->6, 644->6, 645->6, 646->6, 647->6, 648->6, 649->6, 650->6, 651->6, 652->6, 653->6, 654->6, 655->6, 656->6, 657->6, 658->6, 659->6, 660->6, 661->6, 662->6, 663->6, 664->6, 665->6, 666->6, 667->6, 668->6, 669->6, 670->6, 671->6, 672->6, 673->6, 674->6, 675->6, 676->6, 677->6, 678->6, 679->6, 680->6, 681->6, 682->6, 683->6, 684->6, 685->6, 686->6, 687->6, 688->6, 689->6, 690->6, 691->6, 692->6, 693->6, 694->6, 695->6, 696->6, 697->6, 698->6, 699->6, 700->7, 701->7, 702->7, 703->7, 704->7, 705->7, 706->7, 707->7, 708->7, 709->7, 710->7, 711->7, 712->7, 713->7, 714->7, 715->7, 716->7, 717->7, 718->7, 719->7, 720->7, 721->7, 722->7, 723->7, 724->7, 725->7, 726->7, 727->7, 728->7, 729->7, 730->7, 731->7, 732->7, 733->7, 734->7, 735->7, 736->7, 737->7, 738->7, 739->7, 740->7, 741->7, 742->7, 743->7, 744->7, 745->7, 746->7, 747->7, 748->7, 749->7, 750->7, 751->7, 752->7, 753->7, 754->7, 755->7, 756->7, 757->7, 758->7, 759->7, 760->7, 761->7, 762->7, 763->7, 764->7, 765->7, 766->7, 767->7, 768->7, 769->7, 770->7, 771->7, 772->7, 773->7, 774->7, 775->7, 776->7, 777->7, 778->7, 779->7, 780->7, 781->7, 782->7, 783->7, 784->7, 785->7, 786->7, 787->7, 788->7, 789->7, 790->7, 791->7, 792->7, 793->7, 794->7, 795->7, 796->7, 797->7, 798->7, 799->7, 800->8, 801->8, 802->8, 803->8, 804->8, 805->8, 806->8, 807->8, 808->8, 809->8, 810->8, 811->8, 812->8, 813->8, 814->8, 815->8, 816->8, 817->8, 818->8, 819->8, 820->8, 821->8, 822->8, 823->8, 824->8, 825->8, 826->8, 827->8, 828->8, 829->8, 830->8, 831->8, 832->8, 833->8, 834->8, 835->8, 836->8, 837->8, 838->8, 839->8, 840->8, 841->8, 842->8, 843->8, 844->8, 845->8, 846->8, 847->8, 848->8, 849->8, 850->8, 851->8, 852->8, 853->8, 854->8, 855->8, 856->8, 857->8, 858->8, 859->8, 860->8, 861->8, 862->8, 863->8, 864->8, 865->8, 866->8, 867->8, 868->8, 869->8, 870->8, 871->8, 872->8, 873->8, 874->8, 875->8, 876->8, 877->8, 878->8, 879->8, 880->8, 881->8, 882->8, 883->8, 884->8, 885->8, 886->8, 887->8, 888->8, 889->8, 890->8, 891->8, 892->8, 893->8, 894->8, 895->8, 896->8, 897->8, 898->8, 899->8, 900->9, 901->9, 902->9, 903->9, 904->9, 905->9, 906->9, 907->9, 908->9, 909->9, 910->9, 911->9, 912->9, 913->9, 914->9, 915->9, 916->9, 917->9, 918->9, 919->9, 920->9, 921->9, 922->9, 923->9, 924->9, 925->9, 926->9, 927->9, 928->9, 929->9, 930->9, 931->9, 932->9, 933->9, 934->9, 935->9, 936->9, 937->9, 938->9, 939->9, 940->9, 941->9, 942->9, 943->9, 944->9, 945->9, 946->9, 947->9, 948->9, 949->9, 950->9, 951->9, 952->9, 953->9, 954->9, 955->9, 956->9, 957->9, 958->9, 959->9, 960->9, 961->9, 962->9, 963->9, 964->9, 965->9, 966->9, 967->9, 968->9, 969->9, 970->9, 971->9, 972->9, 973->9, 974->9, 975->9, 976->9, 977->9, 978->9, 979->9, 980->9, 981->9, 982->9, 983->9, 984->9, 985->9, 986->9, 987->9, 988->9, 989->9, 990->9, 991->9, 992->9, 993->9, 994->9, 995->9, 996->9, 997->9, 998->9, 999->9}.
correct_position_of_Guess := {0->1, 1->1, 2->2, 3->1, 4->1, 5->1, 6->1, 7->1, 8->1, 9->1, 10->1, 11->1, 12->2, 13->1, 14->1, 15->1, 16->1, 17->1, 18->1, 19->1, 20->1, 21->1, 22->2, 23->1, 24->1, 25->1, 26->1, 27->1, 28->1, 29->1, 30->1, 31->1, 32->2, 33->1, 34->1, 35->1, 36->1, 37->1, 38->1, 39->1, 40->1, 41->1, 42->2, 43->1, 44->1, 45->1, 46->1, 47->1, 48->1, 49->1, 50->2, 51->2, 52->3, 53->2, 54->2, 55->2, 56->2, 57->2, 58->2, 59->2, 60->1, 61->1, 62->2, 63->1, 64->1, 65->1, 66->1, 67->1, 68->1, 69->1, 70->1, 71->1, 72->2, 73->1, 74->1, 75->1, 76->1, 77->1, 78->1, 79->1, 80->1, 81->1, 82->2, 83->1, 84->1, 85->1, 86->1, 87->1, 88->1, 89->1, 90->1, 91->1, 92->2, 93->1, 94->1, 95->1, 96->1, 97->1, 98->1, 99->1, 100->0, 101->0, 102->1, 103->0, 104->0, 105->0, 106->0, 107->0, 108->0, 109->0, 110->0, 111->0, 112->1, 113->0, 114->0, 115->0, 116->0, 117->0, 118->0, 119->0, 120->0, 121->0, 122->1, 123->0, 124->0, 125->0, 126->0, 127->0, 128->0, 129->0, 130->0, 131->0, 132->1, 133->0, 134->0, 135->0, 136->0, 137->0, 138->0, 139->0, 140->0, 141->0, 142->1, 143->0, 144->0, 145->0, 146->0, 147->0, 148->0, 149->0, 150->1, 151->1, 152->2, 153->1, 154->1, 155->1, 156->1, 157->1, 158->1, 159->1, 160->0, 161->0, 162->1, 163->0, 164->0, 165->0, 166->0, 167->0, 168->0, 169->0, 170->0, 171->0, 172->1, 173->0, 174->0, 175->0, 176->0, 177->0, 178->0, 179->0, 180->0, 181->0, 182->1, 183->0, 184->0, 185->0, 186->0, 187->0, 188->0, 189->0, 190->0, 191->0, 192->1, 193->0, 194->0, 195->0, 196->0, 197->0, 198->0, 199->0, 200->0, 201->0, 202->1, 203->0, 204->0, 205->0, 206->0, 207->0, 208->0, 209->0, 210->0, 211->0, 212->1, 213->0, 214->0, 215->0, 216->0, 217->0, 218->0, 219->0, 220->0, 221->0, 222->1, 223->0, 224->0, 225->0, 226->0, 227->0, 228->0, 229->0, 230->0, 231->0, 232->1, 233->0, 234->0, 235->0, 236->0, 237->0, 238->0, 239->0, 240->0, 241->0, 242->1, 243->0, 244->0, 245->0, 246->0, 247->0, 248->0, 249->0, 250->1, 251->1, 252->2, 253->1, 254->1, 255->1, 256->1, 257->1, 258->1, 259->1, 260->0, 261->0, 262->1, 263->0, 264->0, 265->0, 266->0, 267->0, 268->0, 269->0, 270->0, 271->0, 272->1, 273->0, 274->0, 275->0, 276->0, 277->0, 278->0, 279->0, 280->0, 281->0, 282->1, 283->0, 284->0, 285->0, 286->0, 287->0, 288->0, 289->0, 290->0, 291->0, 292->1, 293->0, 294->0, 295->0, 296->0, 297->0, 298->0, 299->0, 300->0, 301->0, 302->1, 303->0, 304->0, 305->0, 306->0, 307->0, 308->0, 309->0, 310->0, 311->0, 312->1, 313->0, 314->0, 315->0, 316->0, 317->0, 318->0, 319->0, 320->0, 321->0, 322->1, 323->0, 324->0, 325->0, 326->0, 327->0, 328->0, 329->0, 330->0, 331->0, 332->1, 333->0, 334->0, 335->0, 336->0, 337->0, 338->0, 339->0, 340->0, 341->0, 342->1, 343->0, 344->0, 345->0, 346->0, 347->0, 348->0, 349->0, 350->1, 351->1, 352->2, 353->1, 354->1, 355->1, 356->1, 357->1, 358->1, 359->1, 360->0, 361->0, 362->1, 363->0, 364->0, 365->0, 366->0, 367->0, 368->0, 369->0, 370->0, 371->0, 372->1, 373->0, 374->0, 375->0, 376->0, 377->0, 378->0, 379->0, 380->0, 381->0, 382->1, 383->0, 384->0, 385->0, 386->0, 387->0, 388->0, 389->0, 390->0, 391->0, 392->1, 393->0, 394->0, 395->0, 396->0, 397->0, 398->0, 399->0, 400->0, 401->0, 402->1, 403->0, 404->0, 405->0, 406->0, 407->0, 408->0, 409->0, 410->0, 411->0, 412->1, 413->0, 414->0, 415->0, 416->0, 417->0, 418->0, 419->0, 420->0, 421->0, 422->1, 423->0, 424->0, 425->0, 426->0, 427->0, 428->0, 429->0, 430->0, 431->0, 432->1, 433->0, 434->0, 435->0, 436->0, 437->0, 438->0, 439->0, 440->0, 441->0, 442->1, 443->0, 444->0, 445->0, 446->0, 447->0, 448->0, 449->0, 450->1, 451->1, 452->2, 453->1, 454->1, 455->1, 456->1, 457->1, 458->1, 459->1, 460->0, 461->0, 462->1, 463->0, 464->0, 465->0, 466->0, 467->0, 468->0, 469->0, 470->0, 471->0, 472->1, 473->0, 474->0, 475->0, 476->0, 477->0, 478->0, 479->0, 480->0, 481->0, 482->1, 483->0, 484->0, 485->0, 486->0, 487->0, 488->0, 489->0, 490->0, 491->0, 492->1, 493->0, 494->0, 495->0, 496->0, 497->0, 498->0, 499->0, 500->0, 501->0, 502->1, 503->0, 504->0, 505->0, 506->0, 507->0, 508->0, 509->0, 510->0, 511->0, 512->1, 513->0, 514->0, 515->0, 516->0, 517->0, 518->0, 519->0, 520->0, 521->0, 522->1, 523->0, 524->0, 525->0, 526->0, 527->0, 528->0, 529->0, 530->0, 531->0, 532->1, 533->0, 534->0, 535->0, 536->0, 537->0, 538->0, 539->0, 540->0, 541->0, 542->1, 543->0, 544->0, 545->0, 546->0, 547->0, 548->0, 549->0, 550->1, 551->1, 552->2, 553->1, 554->1, 555->1, 556->1, 557->1, 558->1, 559->1, 560->0, 561->0, 562->1, 563->0, 564->0, 565->0, 566->0, 567->0, 568->0, 569->0, 570->0, 571->0, 572->1, 573->0, 574->0, 575->0, 576->0, 577->0, 578->0, 579->0, 580->0, 581->0, 582->1, 583->0, 584->0, 585->0, 586->0, 587->0, 588->0, 589->0, 590->0, 591->0, 592->1, 593->0, 594->0, 595->0, 596->0, 597->0, 598->0, 599->0, 600->0, 601->0, 602->1, 603->0, 604->0, 605->0, 606->0, 607->0, 608->0, 609->0, 610->0, 611->0, 612->1, 613->0, 614->0, 615->0, 616->0, 617->0, 618->0, 619->0, 620->0, 621->0, 622->1, 623->0, 624->0, 625->0, 626->0, 627->0, 628->0, 629->0, 630->0, 631->0, 632->1, 633->0, 634->0, 635->0, 636->0, 637->0, 638->0, 639->0, 640->0, 641->0, 642->1, 643->0, 644->0, 645->0, 646->0, 647->0, 648->0, 649->0, 650->1, 651->1, 652->2, 653->1, 654->1, 655->1, 656->1, 657->1, 658->1, 659->1, 660->0, 661->0, 662->1, 663->0, 664->0, 665->0, 666->0, 667->0, 668->0, 669->0, 670->0, 671->0, 672->1, 673->0, 674->0, 675->0, 676->0, 677->0, 678->0, 679->0, 680->0, 681->0, 682->1, 683->0, 684->0, 685->0, 686->0, 687->0, 688->0, 689->0, 690->0, 691->0, 692->1, 693->0, 694->0, 695->0, 696->0, 697->0, 698->0, 699->0, 700->0, 701->0, 702->1, 703->0, 704->0, 705->0, 706->0, 707->0, 708->0, 709->0, 710->0, 711->0, 712->1, 713->0, 714->0, 715->0, 716->0, 717->0, 718->0, 719->0, 720->0, 721->0, 722->1, 723->0, 724->0, 725->0, 726->0, 727->0, 728->0, 729->0, 730->0, 731->0, 732->1, 733->0, 734->0, 735->0, 736->0, 737->0, 738->0, 739->0, 740->0, 741->0, 742->1, 743->0, 744->0, 745->0, 746->0, 747->0, 748->0, 749->0, 750->1, 751->1, 752->2, 753->1, 754->1, 755->1, 756->1, 757->1, 758->1, 759->1, 760->0, 761->0, 762->1, 763->0, 764->0, 765->0, 766->0, 767->0, 768->0, 769->0, 770->0, 771->0, 772->1, 773->0, 774->0, 775->0, 776->0, 777->0, 778->0, 779->0, 780->0, 781->0, 782->1, 783->0, 784->0, 785->0, 786->0, 787->0, 788->0, 789->0, 790->0, 791->0, 792->1, 793->0, 794->0, 795->0, 796->0, 797->0, 798->0, 799->0, 800->0, 801->0, 802->1, 803->0, 804->0, 805->0, 806->0, 807->0, 808->0, 809->0, 810->0, 811->0, 812->1, 813->0, 814->0, 815->0, 816->0, 817->0, 818->0, 819->0, 820->0, 821->0, 822->1, 823->0, 824->0, 825->0, 826->0, 827->0, 828->0, 829->0, 830->0, 831->0, 832->1, 833->0, 834->0, 835->0, 836->0, 837->0, 838->0, 839->0, 840->0, 841->0, 842->1, 843->0, 844->0, 845->0, 846->0, 847->0, 848->0, 849->0, 850->1, 851->1, 852->2, 853->1, 854->1, 855->1, 856->1, 857->1, 858->1, 859->1, 860->0, 861->0, 862->1, 863->0, 864->0, 865->0, 866->0, 867->0, 868->0, 869->0, 870->0, 871->0, 872->1, 873->0, 874->0, 875->0, 876->0, 877->0, 878->0, 879->0, 880->0, 881->0, 882->1, 883->0, 884->0, 885->0, 886->0, 887->0, 888->0, 889->0, 890->0, 891->0, 892->1, 893->0, 894->0, 895->0, 896->0, 897->0, 898->0, 899->0, 900->0, 901->0, 902->1, 903->0, 904->0, 905->0, 906->0, 907->0, 908->0, 909->0, 910->0, 911->0, 912->1, 913->0, 914->0, 915->0, 916->0, 917->0, 918->0, 919->0, 920->0, 921->0, 922->1, 923->0, 924->0, 925->0, 926->0, 927->0, 928->0, 929->0, 930->0, 931->0, 932->1, 933->0, 934->0, 935->0, 936->0, 937->0, 938->0, 939->0, 940->0, 941->0, 942->1, 943->0, 944->0, 945->0, 946->0, 947->0, 948->0, 949->0, 950->1, 951->1, 952->2, 953->1, 954->1, 955->1, 956->1, 957->1, 958->1, 959->1, 960->0, 961->0, 962->1, 963->0, 964->0, 965->0, 966->0, 967->0, 968->0, 969->0, 970->0, 971->0, 972->1, 973->0, 974->0, 975->0, 976->0, 977->0, 978->0, 979->0, 980->0, 981->0, 982->1, 983->0, 984->0, 985->0, 986->0, 987->0, 988->0, 989->0, 990->0, 991->0, 992->1, 993->0, 994->0, 995->0, 996->0, 997->0, 998->0, 999->0}.
correct_number_of_Guess := {0->3, 1->2, 2->3, 3->2, 4->2, 5->3, 6->2, 7->2, 8->2, 9->2, 10->2, 11->1, 12->2, 13->1, 14->1, 15->2, 16->1, 17->1, 18->1, 19->1, 20->3, 21->2, 22->3, 23->2, 24->2, 25->3, 26->2, 27->2, 28->2, 29->2, 30->2, 31->1, 32->2, 33->1, 34->1, 35->2, 36->1, 37->1, 38->1, 39->1, 40->2, 41->1, 42->2, 43->1, 44->1, 45->2, 46->1, 47->1, 48->1, 49->1, 50->3, 51->2, 52->3, 53->2, 54->2, 55->3, 56->2, 57->2, 58->2, 59->2, 60->2, 61->1, 62->2, 63->1, 64->1, 65->2, 66->1, 67->1, 68->1, 69->1, 70->2, 71->1, 72->2, 73->1, 74->1, 75->2, 76->1, 77->1, 78->1, 79->1, 80->2, 81->1, 82->2, 83->1, 84->1, 85->2, 86->1, 87->1, 88->1, 89->1, 90->2, 91->1, 92->2, 93->1, 94->1, 95->2, 96->1, 97->1, 98->1, 99->1, 100->2, 101->1, 102->2, 103->1, 104->1, 105->2, 106->1, 107->1, 108->1, 109->1, 110->1, 111->0, 112->1, 113->0, 114->0, 115->1, 116->0, 117->0, 118->0, 119->0, 120->2, 121->1, 122->2, 123->1, 124->1, 125->2, 126->1, 127->1, 128->1, 129->1, 130->1, 131->0, 132->1, 133->0, 134->0, 135->1, 136->0, 137->0, 138->0, 139->0, 140->1, 141->0, 142->1, 143->0, 144->0, 145->1, 146->0, 147->0, 148->0, 149->0, 150->2, 151->1, 152->2, 153->1, 154->1, 155->2, 156->1, 157->1, 158->1, 159->1, 160->1, 161->0, 162->1, 163->0, 164->0, 165->1, 166->0, 167->0, 168->0, 169->0, 170->1, 171->0, 172->1, 173->0, 174->0, 175->1, 176->0, 177->0, 178->0, 179->0, 180->1, 181->0, 182->1, 183->0, 184->0, 185->1, 186->0, 187->0, 188->0, 189->0, 190->1, 191->0, 192->1, 193->0, 194->0, 195->1, 196->0, 197->0, 198->0, 199->0, 200->3, 201->2, 202->3, 203->2, 204->2, 205->3, 206->2, 207->2, 208->2, 209->2, 210->2, 211->1, 212->2, 213->1, 214->1, 215->2, 216->1, 217->1, 218->1, 219->1, 220->3, 221->2, 222->3, 223->2, 224->2, 225->3, 226->2, 227->2, 228->2, 229->2, 230->2, 231->1, 232->2, 233->1, 234->1, 235->2, 236->1, 237->1, 238->1, 239->1, 240->2, 241->1, 242->2, 243->1, 244->1, 245->2, 246->1, 247->1, 248->1, 249->1, 250->3, 251->2, 252->3, 253->2, 254->2, 255->3, 256->2, 257->2, 258->2, 259->2, 260->2, 261->1, 262->2, 263->1, 264->1, 265->2, 266->1, 267->1, 268->1, 269->1, 270->2, 271->1, 272->2, 273->1, 274->1, 275->2, 276->1, 277->1, 278->1, 279->1, 280->2, 281->1, 282->2, 283->1, 284->1, 285->2, 286->1, 287->1, 288->1, 289->1, 290->2, 291->1, 292->2, 293->1, 294->1, 295->2, 296->1, 297->1, 298->1, 299->1, 300->2, 301->1, 302->2, 303->1, 304->1, 305->2, 306->1, 307->1, 308->1, 309->1, 310->1, 311->0, 312->1, 313->0, 314->0, 315->1, 316->0, 317->0, 318->0, 319->0, 320->2, 321->1, 322->2, 323->1, 324->1, 325->2, 326->1, 327->1, 328->1, 329->1, 330->1, 331->0, 332->1, 333->0, 334->0, 335->1, 336->0, 337->0, 338->0, 339->0, 340->1, 341->0, 342->1, 343->0, 344->0, 345->1, 346->0, 347->0, 348->0, 349->0, 350->2, 351->1, 352->2, 353->1, 354->1, 355->2, 356->1, 357->1, 358->1, 359->1, 360->1, 361->0, 362->1, 363->0, 364->0, 365->1, 366->0, 367->0, 368->0, 369->0, 370->1, 371->0, 372->1, 373->0, 374->0, 375->1, 376->0, 377->0, 378->0, 379->0, 380->1, 381->0, 382->1, 383->0, 384->0, 385->1, 386->0, 387->0, 388->0, 389->0, 390->1, 391->0, 392->1, 393->0, 394->0, 395->1, 396->0, 397->0, 398->0, 399->0, 400->2, 401->1, 402->2, 403->1, 404->1, 405->2, 406->1, 407->1, 408->1, 409->1, 410->1, 411->0, 412->1, 413->0, 414->0, 415->1, 416->0, 417->0, 418->0, 419->0, 420->2, 421->1, 422->2, 423->1, 424->1, 425->2, 426->1, 427->1, 428->1, 429->1, 430->1, 431->0, 432->1, 433->0, 434->0, 435->1, 436->0, 437->0, 438->0, 439->0, 440->1, 441->0, 442->1, 443->0, 444->0, 445->1, 446->0, 447->0, 448->0, 449->0, 450->2, 451->1, 452->2, 453->1, 454->1, 455->2, 456->1, 457->1, 458->1, 459->1, 460->1, 461->0, 462->1, 463->0, 464->0, 465->1, 466->0, 467->0, 468->0, 469->0, 470->1, 471->0, 472->1, 473->0, 474->0, 475->1, 476->0, 477->0, 478->0, 479->0, 480->1, 481->0, 482->1, 483->0, 484->0, 485->1, 486->0, 487->0, 488->0, 489->0, 490->1, 491->0, 492->1, 493->0, 494->0, 495->1, 496->0, 497->0, 498->0, 499->0, 500->3, 501->2, 502->3, 503->2, 504->2, 505->3, 506->2, 507->2, 508->2, 509->2, 510->2, 511->1, 512->2, 513->1, 514->1, 515->2, 516->1, 517->1, 518->1, 519->1, 520->3, 521->2, 522->3, 523->2, 524->2, 525->3, 526->2, 527->2, 528->2, 529->2, 530->2, 531->1, 532->2, 533->1, 534->1, 535->2, 536->1, 537->1, 538->1, 539->1, 540->2, 541->1, 542->2, 543->1, 544->1, 545->2, 546->1, 547->1, 548->1, 549->1, 550->3, 551->2, 552->3, 553->2, 554->2, 555->3, 556->2, 557->2, 558->2, 559->2, 560->2, 561->1, 562->2, 563->1, 564->1, 565->2, 566->1, 567->1, 568->1, 569->1, 570->2, 571->1, 572->2, 573->1, 574->1, 575->2, 576->1, 577->1, 578->1, 579->1, 580->2, 581->1, 582->2, 583->1, 584->1, 585->2, 586->1, 587->1, 588->1, 589->1, 590->2, 591->1, 592->2, 593->1, 594->1, 595->2, 596->1, 597->1, 598->1, 599->1, 600->2, 601->1, 602->2, 603->1, 604->1, 605->2, 606->1, 607->1, 608->1, 609->1, 610->1, 611->0, 612->1, 613->0, 614->0, 615->1, 616->0, 617->0, 618->0, 619->0, 620->2, 621->1, 622->2, 623->1, 624->1, 625->2, 626->1, 627->1, 628->1, 629->1, 630->1, 631->0, 632->1, 633->0, 634->0, 635->1, 636->0, 637->0, 638->0, 639->0, 640->1, 641->0, 642->1, 643->0, 644->0, 645->1, 646->0, 647->0, 648->0, 649->0, 650->2, 651->1, 652->2, 653->1, 654->1, 655->2, 656->1, 657->1, 658->1, 659->1, 660->1, 661->0, 662->1, 663->0, 664->0, 665->1, 666->0, 667->0, 668->0, 669->0, 670->1, 671->0, 672->1, 673->0, 674->0, 675->1, 676->0, 677->0, 678->0, 679->0, 680->1, 681->0, 682->1, 683->0, 684->0, 685->1, 686->0, 687->0, 688->0, 689->0, 690->1, 691->0, 692->1, 693->0, 694->0, 695->1, 696->0, 697->0, 698->0, 699->0, 700->2, 701->1, 702->2, 703->1, 704->1, 705->2, 706->1, 707->1, 708->1, 709->1, 710->1, 711->0, 712->1, 713->0, 714->0, 715->1, 716->0, 717->0, 718->0, 719->0, 720->2, 721->1, 722->2, 723->1, 724->1, 725->2, 726->1, 727->1, 728->1, 729->1, 730->1, 731->0, 732->1, 733->0, 734->0, 735->1, 736->0, 737->0, 738->0, 739->0, 740->1, 741->0, 742->1, 743->0, 744->0, 745->1, 746->0, 747->0, 748->0, 749->0, 750->2, 751->1, 752->2, 753->1, 754->1, 755->2, 756->1, 757->1, 758->1, 759->1, 760->1, 761->0, 762->1, 763->0, 764->0, 765->1, 766->0, 767->0, 768->0, 769->0, 770->1, 771->0, 772->1, 773->0, 774->0, 775->1, 776->0, 777->0, 778->0, 779->0, 780->1, 781->0, 782->1, 783->0, 784->0, 785->1, 786->0, 787->0, 788->0, 789->0, 790->1, 791->0, 792->1, 793->0, 794->0, 795->1, 796->0, 797->0, 798->0, 799->0, 800->2, 801->1, 802->2, 803->1, 804->1, 805->2, 806->1, 807->1, 808->1, 809->1, 810->1, 811->0, 812->1, 813->0, 814->0, 815->1, 816->0, 817->0, 818->0, 819->0, 820->2, 821->1, 822->2, 823->1, 824->1, 825->2, 826->1, 827->1, 828->1, 829->1, 830->1, 831->0, 832->1, 833->0, 834->0, 835->1, 836->0, 837->0, 838->0, 839->0, 840->1, 841->0, 842->1, 843->0, 844->0, 845->1, 846->0, 847->0, 848->0, 849->0, 850->2, 851->1, 852->2, 853->1, 854->1, 855->2, 856->1, 857->1, 858->1, 859->1, 860->1, 861->0, 862->1, 863->0, 864->0, 865->1, 866->0, 867->0, 868->0, 869->0, 870->1, 871->0, 872->1, 873->0, 874->0, 875->1, 876->0, 877->0, 878->0, 879->0, 880->1, 881->0, 882->1, 883->0, 884->0, 885->1, 886->0, 887->0, 888->0, 889->0, 890->1, 891->0, 892->1, 893->0, 894->0, 895->1, 896->0, 897->0, 898->0, 899->0, 900->2, 901->1, 902->2, 903->1, 904->1, 905->2, 906->1, 907->1, 908->1, 909->1, 910->1, 911->0, 912->1, 913->0, 914->0, 915->1, 916->0, 917->0, 918->0, 919->0, 920->2, 921->1, 922->2, 923->1, 924->1, 925->2, 926->1, 927->1, 928->1, 929->1, 930->1, 931->0, 932->1, 933->0, 934->0, 935->1, 936->0, 937->0, 938->0, 939->0, 940->1, 941->0, 942->1, 943->0, 944->0, 945->1, 946->0, 947->0, 948->0, 949->0, 950->2, 951->1, 952->2, 953->1, 954->1, 955->2, 956->1, 957->1, 958->1, 959->1, 960->1, 961->0, 962->1, 963->0, 964->0, 965->1, 966->0, 967->0, 968->0, 969->0, 970->1, 971->0, 972->1, 973->0, 974->0, 975->1, 976->0, 977->0, 978->0, 979->0, 980->1, 981->0, 982->1, 983->0, 984->0, 985->1, 986->0, 987->0, 988->0, 989->0, 990->1, 991->0, 992->1, 993->0, 994->0, 995->1, 996->0, 997->0, 998->0, 999->0}.
Sol1 := 2.
Sol2 := 5.
Sol3 := 0.
Solution := 52.

Elapsed Time:
12.392

The solution to Crack The Code is 052!