Guest User

Untitled

a guest
May 21st, 2018
80
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.06 KB | None | 0 0
  1. const fs = require('fs');
  2. const reverseNum = s => String(s).split('').reverse().join('');
  3. const genPalindrome = (len) => {
  4. const palindromes = new Set();
  5. const mod = len%2 !== 0;
  6. const iLen = ~~(len/2);
  7. const start = Math.pow(10, iLen - 1);
  8. const end = Math.pow(10, iLen) - 1;
  9.  
  10. for (let i = end; i >= start; i--)
  11. {
  12. if (mod) {
  13. for (let j = 9; j>=0; j--) {
  14. palindromes.add( Number(i + String(j) + reverseNum(i)) );
  15. }
  16. } else {
  17. palindromes.add( Number(i + reverseNum(i)) );
  18. }
  19. }
  20. return palindromes;
  21. };
  22.  
  23. const palindromes7 = genPalindrome(7);
  24. const palindromes8 = genPalindrome(8);
  25. const palindromes = new Set([...palindromes7, ...palindromes8]);
  26.  
  27. let res = '';
  28. for (let i = 9999; i > 1000; --i) {
  29. if (i%10 === 0) continue;
  30. for (let j = i, mult = i*j; j > 1000; --j, mult -= i) {
  31. if (i%10 === j) continue;
  32. if (palindromes.has(mult)) {
  33. res += `${i} ${j} ${mult}\n`;
  34. }
  35. }
  36. }
  37.  
  38. fs.writeFile('output.txt', res, () => process.exit());
Add Comment
Please, Sign In to add comment