Advertisement
Guest User

Untitled

a guest
Jul 22nd, 2018
71
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.32 KB | None | 0 0
  1.  
  2.  
  3. let fibonacci = function(n) {
  4. let fib = [ 0 ];
  5.  
  6. let f1 = 0;
  7. let f2 = 1;
  8. let ftmp = 0;
  9.  
  10. for (let i = 0; i < n; i++) {
  11. fib.push(f2);
  12. ftmp = f2;
  13. f2 = f1 + f2;
  14. f1 = ftmp;
  15. }
  16.  
  17. return fib;
  18. }
  19.  
  20. let primeList = function(n) {
  21. let list = [];
  22. let primes = [];
  23.  
  24. for (let i = 2; i <= n; i++) {
  25. if (!list[i]) {
  26. primes.push(i);
  27.  
  28. if (i <= Math.sqrt(n)) {
  29. for (let j = i*i; j <= n; j += i) {
  30. list[j] = 1;
  31. }
  32. }
  33. }
  34. }
  35.  
  36. return primes;
  37. }
  38.  
  39. const fib = fibonacci(25);
  40. const primes = primeList(fib[25]);
  41.  
  42. function start() {
  43.  
  44. let sums = []
  45. let parZero = new Array(primes.length)
  46. parZero = parZero.map(() => 1)
  47. sums.push(parZero)
  48. let parOne = new Array(primes.length)
  49. sums.push(parOne)
  50.  
  51. for (let i = 2; i <= fib[25]; i++) {
  52. let par = new Array(primes.length)
  53. for (let j = 0; j < primes.length; j++) {
  54. let prime = primes[j]
  55. if (i - prime < 0) break
  56. par[j] = prime * sums[i - prime][j]
  57. }
  58. for (let j = primes.length - 2; j >= 0; j--) {
  59. par[j] = (par[j] + par[j + 1]) % 1e9
  60. }
  61. sums.push(par)
  62. }
  63. return sums
  64. }
  65.  
  66. let sums = start();
  67.  
  68. let ans = sums
  69. let tot = 0
  70. for(let i = 2; i <= 25; i++) {
  71. tot += sums[fib[i]][0]
  72. console.log(sums[fib[i]][0])
  73. }
  74. console.log(tot % 1e9)
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement