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