fork download
  1. (defn n-digits [digits]
  2. (let
  3. [low (nth (iterate (partial * 10) 1) (dec digits))
  4. high (dec (nth (iterate (partial * 10) 1) digits))]
  5. (vector low high)))
  6.  
  7. (defn n-digit-products [digits]
  8. (let [[low high] (n-digits digits)]
  9. (distinct
  10. (for [x (range low (inc high)) y (range low (inc high)) :while (<= y x)]
  11. (* x y)))))
  12.  
  13. (defn palindromic-products [digits]
  14. (reverse (sort (filter #(= (seq (str %)) (reverse (str %))) (n-digit-products digits)))))
  15.  
  16. (println (palindromic-products 3))
Success #stdin #stdout 3.98s 214656KB
stdin
Standard input is empty
stdout
(906609 888888 886688 861168 855558 853358 840048 828828 824428 821128 819918 809908 807708 804408 802208 801108 793397 780087 770077 749947 747747 737737 729927 723327 698896 696696 693396 689986 678876 675576 672276 666666 663366 661166 660066 657756 656656 654456 653356 652256 650056 649946 648846 642246 639936 636636 631136 630036 623326 619916 618816 616616 612216 611116 606606 604406 603306 602206 601106 595595 592295 589985 588885 585585 580085 579975 577775 576675 575575 573375 571175 570075 565565 564465 561165 560065 555555 554455 551155 550055 549945 548845 545545 543345 536635 535535 534435 531135 528825 525525 523325 522225 520025 519915 515515 514415 513315 512215 510015 509905 508805 507705 506605 505505 493394 491194 489984 488884 487784 485584 484484 477774 476674 474474 471174 470074 469964 468864 464464 462264 461164 459954 456654 452254 447744 445544 444444 443344 442244 441144 440044 438834 436634 434434 432234 428824 426624 425524 424424 421124 420024 416614 414414 412214 409904 408804 407704 405504 404404 402204 401104 399993 397793 393393 391193 384483 378873 377773 375573 374473 372273 371173 369963 367763 366663 363363 359953 357753 354453 348843 345543 343343 335533 333333 330033 329923 324423 321123 320023 308803 306603 303303 302203 301103 299992 297792 296692 294492 292292 290092 289982 286682 284482 282282 280082 279972 277772 276672 273372 272272 270072 266662 262262 259952 258852 257752 256652 255552 252252 249942 246642 244442 242242 239932 238832 235532 234432 232232 231132 227722 225522 222222 221122 220022 219912 216612 215512 214412 213312 212212 210012 209902 204402 202202 201102 198891 189981 188881 187781 184481 182281 180081 178871 174471 171171 168861 165561 162261 161161 159951 156651 155551 154451 149941 147741 143341 142241 141141 140041 138831 137731 135531 133331 131131 129921 128821 127721 123321 122221 121121 119911 117711 111111 110011 108801 106601 105501 102201 101101 99999 99899 99799 99699 99599 99299 99199 99099 98889 98789 98589 98489 98289 98189 97079 96869 96669 96369 95659 95559 95259 94249 94149 93939 93839 93639 92829 92629 92529 92329 92229 92129 91719 90909 90209 90109 90009 89798 89698 89598 89498 89298 89198 88888 88788 88688 88288 88088 87978 87478 87278 87178 87078 86868 86768 86668 86268 85358 85158 85058 84448 84348 84148 84048 83838 83738 83638 83538 82928 82728 82628 82328 82228 82128 81918 81718 81618 81018 80908 80808 80608 80408 80208 80008 79897 79797 79597 79497 79297 79097 78987 78387 78287 77877 77777 77677 77077 76867 76467 76167 75057 74947 74847 74547 74447 74347 73937 73537 73437 73337 72927 72627 72027 71817 71217 71117 70807 70707 70307 70007 69996 69696 69596 69496 69296 68886 68786 68686 68586 68486 68286 68186 68086 67976 67876 67776 67276 67176 67076 66866 66766 66666 66566 66466 66066 65856 65656 65556 65156 65056 64746 64546 64446 64246 63936 63736 63536 63336 63036 62926 62826 62726 62626 62526 62426 61716 61516 61116 61016 60706 60606 60306 60006 59995 59895 59595 59495 59295 59095 58985 58685 58485 58185 57875 57575 57475 57375 57275 56865 56565 56465 56265 56165 55955 55755 55555 55255 55055 54945 54145 53935 53835 53535 53235 52925 52725 52625 52525 52425 52325 52125 51815 51615 51415 51315 51015 50605 50505 50005 49894 49794 49594 49494 48984 48884 48484 48384 48184 47974 47874 47674 47174 46964 46864 46764 46664 46464 46364 45954 45854 45254 45154 44944 44844 44744 44544 44444 44344 44144 44044 43834 43734 43434 43134 42924 42824 42624 42224 42024 41814 41514 41314 41114 40804 40704 40504 40404 40304 40004 39893 39693 39593 39093 38683 38383 37973 37873 37673 37373 37073 36963 36863 36663 35953 35853 35653 35453 34743 34643 34443 34243 33633 33333 33233 33033 32623 32523 31613 31413 31313 30603 30303 30003 29992 29892 29792 29592 29492 29392 29192 28782 28482 28282 28182 27972 27872 27772 27572 27472 27072 26962 26862 26562 26462 26162 26062 25752 25652 25452 25252 25152 24742 24642 24442 23932 23632 23532 23432 23232 22922 22422 22022 21912 21812 21712 21412 21312 21112 21012 20502 20402 20202 20002 19591 19291 18981 18281 18081 17871 17271 16761 16261 15851 15651 15351 15251 15151 14641 14541 14241 13431 13231 12321 12221 11211 10201)