Approach: Create list of palindromes sorted in reverse order. For each palindrome, check to see whether it has a factor between 100 and 1000. Check that the palindrome/factor is also between 100 and 1000.
>>> def findFactor(n):
... for i in range(100, 1000):
... if ( n % i == 0) and ( n//i < 1000):
... return i
... return 1
...
>>> findFactor(999999)
1
>>> def firstFactorable(r):
... for i in r:
... if findFactor(i) > 1:
... return i
... return "None Found"
...
>>> def createPalindrome(n):
... s = str(n)
... return int(s + s[::-1])
...
>>> createPalindrome(123)
123321
>>> def createSequence():
... r = map(createPalindrome, range(100,1000))
... r = r[::-1]
... return r
...
>>> createSequence()
[999999, 998899, 997799, 996699, 995599, 994499, 993399, 992299, 991199, 990099, 989989, 988889, 987789, 986689, 985589, 984489, 983389, 982289, 981189, 980089, 979979, 978879, 977779, 976679, 975579, 974479, 973379, 972279, 971179, 970079, 969969, 968869, 967769, 966669, 965569, 964469, 963369, 962269, 961169, 960069, 959959, 958859, 957759, 956659, 955559, 954459, 953359, 952259, 951159, 950059, 949949, 948849, 947749, 946649, 945549, 944449, 943349, 942249, 941149, 940049, 939939, 938839, 937739, 936639, 935539, 934439, 933339, 932239, 931139, 930039, 929929, 928829, 927729, 926629, 925529, 924429, 923329, 922229, 921129, 920029, 919919, 918819, 917719, 916619, 915519, 914419, 913319, 912219, 911119, 910019, 909909, 908809, 907709, 906609, 905509, 904409, 903309, 902209, 901109, 900009, 899998, 898898, 897798, 896698, 895598, 894498, 893398, 892298, 891198, 890098, 889988, 888888, 887788, 886688, 885588, 884488, 883388, 882288, 881188, 880088, 879978, 878878, 877778, 876678, 875578, 874478, 873378, 872278, 871178, 870078, 869968, 868868, 867768, 866668, 865568, 864468, 863368, 862268, 861168, 860068, 859958, 858858, 857758, 856658, 855558, 854458, 853358, 852258, 851158, 850058, 849948, 848848, 847748, 846648, 845548, 844448, 843348, 842248, 841148, 840048, 839938, 838838, 837738, 836638, 835538, 834438, 833338, 832238, 831138, 830038, 829928, 828828, 827728, 826628, 825528, 824428, 823328, 822228, 821128, 820028, 819918, 818818, 817718, 816618, 815518, 814418, 813318, 812218, 811118, 810018, 809908, 808808, 807708, 806608, 805508, 804408, 803308, 802208, 801108, 800008, 799997, 798897, 797797, 796697, 795597, 794497, 793397, 792297, 791197, 790097, 789987, 788887, 787787, 786687, 785587, 784487, 783387, 782287, 781187, 780087, 779977, 778877, 777777, 776677, 775577, 774477, 773377, 772277, 771177, 770077, 769967, 768867, 767767, 766667, 765567, 764467, 763367, 762267, 761167, 760067, 759957, 758857, 757757, 756657, 755557, 754457, 753357, 752257, 751157, 750057, 749947, 748847, 747747, 746647, 745547, 744447, 743347, 742247, 741147, 740047, 739937, 738837, 737737, 736637, 735537, 734437, 733337, 732237, 731137, 730037, 729927, 728827, 727727, 726627, 725527, 724427, 723327, 722227, 721127, 720027, 719917, 718817, 717717, 716617, 715517, 714417, 713317, 712217, 711117, 710017, 709907, 708807, 707707, 706607, 705507, 704407, 703307, 702207, 701107, 700007, 699996, 698896, 697796, 696696, 695596, 694496, 693396, 692296, 691196, 690096, 689986, 688886, 687786, 686686, 685586, 684486, 683386, 682286, 681186, 680086, 679976, 678876, 677776, 676676, 675576, 674476, 673376, 672276, 671176, 670076, 669966, 668866, 667766, 666666, 665566, 664466, 663366, 662266, 661166, 660066, 659956, 658856, 657756, 656656, 655556, 654456, 653356, 652256, 651156, 650056, 649946, 648846, 647746, 646646, 645546, 644446, 643346, 642246, 641146, 640046, 639936, 638836, 637736, 636636, 635536, 634436, 633336, 632236, 631136, 630036, 629926, 628826, 627726, 626626, 625526, 624426, 623326, 622226, 621126, 620026, 619916, 618816, 617716, 616616, 615516, 614416, 613316, 612216, 611116, 610016, 609906, 608806, 607706, 606606, 605506, 604406, 603306, 602206, 601106, 600006, 599995, 598895, 597795, 596695, 595595, 594495, 593395, 592295, 591195, 590095, 589985, 588885, 587785, 586685, 585585, 584485, 583385, 582285, 581185, 580085, 579975, 578875, 577775, 576675, 575575, 574475, 573375, 572275, 571175, 570075, 569965, 568865, 567765, 566665, 565565, 564465, 563365, 562265, 561165, 560065, 559955, 558855, 557755, 556655, 555555, 554455, 553355, 552255, 551155, 550055, 549945, 548845, 547745, 546645, 545545, 544445, 543345, 542245, 541145, 540045, 539935, 538835, 537735, 536635, 535535, 534435, 533335, 532235, 531135, 530035, 529925, 528825, 527725, 526625, 525525, 524425, 523325, 522225, 521125, 520025, 519915, 518815, 517715, 516615, 515515, 514415, 513315, 512215, 511115, 510015, 509905, 508805, 507705, 506605, 505505, 504405, 503305, 502205, 501105, 500005, 499994, 498894, 497794, 496694, 495594, 494494, 493394, 492294, 491194, 490094, 489984, 488884, 487784, 486684, 485584, 484484, 483384, 482284, 481184, 480084, 479974, 478874, 477774, 476674, 475574, 474474, 473374, 472274, 471174, 470074, 469964, 468864, 467764, 466664, 465564, 464464, 463364, 462264, 461164, 460064, 459954, 458854, 457754, 456654, 455554, 454454, 453354, 452254, 451154, 450054, 449944, 448844, 447744, 446644, 445544, 444444, 443344, 442244, 441144, 440044, 439934, 438834, 437734, 436634, 435534, 434434, 433334, 432234, 431134, 430034, 429924, 428824, 427724, 426624, 425524, 424424, 423324, 422224, 421124, 420024, 419914, 418814, 417714, 416614, 415514, 414414, 413314, 412214, 411114, 410014, 409904, 408804, 407704, 406604, 405504, 404404, 403304, 402204, 401104, 400004, 399993, 398893, 397793, 396693, 395593, 394493, 393393, 392293, 391193, 390093, 389983, 388883, 387783, 386683, 385583, 384483, 383383, 382283, 381183, 380083, 379973, 378873, 377773, 376673, 375573, 374473, 373373, 372273, 371173, 370073, 369963, 368863, 367763, 366663, 365563, 364463, 363363, 362263, 361163, 360063, 359953, 358853, 357753, 356653, 355553, 354453, 353353, 352253, 351153, 350053, 349943, 348843, 347743, 346643, 345543, 344443, 343343, 342243, 341143, 340043, 339933, 338833, 337733, 336633, 335533, 334433, 333333, 332233, 331133, 330033, 329923, 328823, 327723, 326623, 325523, 324423, 323323, 322223, 321123, 320023, 319913, 318813, 317713, 316613, 315513, 314413, 313313, 312213, 311113, 310013, 309903, 308803, 307703, 306603, 305503, 304403, 303303, 302203, 301103, 300003, 299992, 298892, 297792, 296692, 295592, 294492, 293392, 292292, 291192, 290092, 289982, 288882, 287782, 286682, 285582, 284482, 283382, 282282, 281182, 280082, 279972, 278872, 277772, 276672, 275572, 274472, 273372, 272272, 271172, 270072, 269962, 268862, 267762, 266662, 265562, 264462, 263362, 262262, 261162, 260062, 259952, 258852, 257752, 256652, 255552, 254452, 253352, 252252, 251152, 250052, 249942, 248842, 247742, 246642, 245542, 244442, 243342, 242242, 241142, 240042, 239932, 238832, 237732, 236632, 235532, 234432, 233332, 232232, 231132, 230032, 229922, 228822, 227722, 226622, 225522, 224422, 223322, 222222, 221122, 220022, 219912, 218812, 217712, 216612, 215512, 214412, 213312, 212212, 211112, 210012, 209902, 208802, 207702, 206602, 205502, 204402, 203302, 202202, 201102, 200002, 199991, 198891, 197791, 196691, 195591, 194491, 193391, 192291, 191191, 190091, 189981, 188881, 187781, 186681, 185581, 184481, 183381, 182281, 181181, 180081, 179971, 178871, 177771, 176671, 175571, 174471, 173371, 172271, 171171, 170071, 169961, 168861, 167761, 166661, 165561, 164461, 163361, 162261, 161161, 160061, 159951, 158851, 157751, 156651, 155551, 154451, 153351, 152251, 151151, 150051, 149941, 148841, 147741, 146641, 145541, 144441, 143341, 142241, 141141, 140041, 139931, 138831, 137731, 136631, 135531, 134431, 133331, 132231, 131131, 130031, 129921, 128821, 127721, 126621, 125521, 124421, 123321, 122221, 121121, 120021, 119911, 118811, 117711, 116611, 115511, 114411, 113311, 112211, 111111, 110011, 109901, 108801, 107701, 106601, 105501, 104401, 103301, 102201, 101101, 100001]
>>> r = createSequence()
>>> firstFactorable(r)
906609
Subscribe to:
Post Comments (Atom)
No comments:
Post a Comment