Guest User

Untitled

a guest
Jun 7th, 2021
79
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. // apufunktiot
  2.  
  3. const kelvollinenAika = (aikaArvo) => {
  4.   try {
  5.     const aika = aikaArvo.length == 7 ? "0"+aikaArvo : aikaArvo;
  6.     return !(isNaN(new Date(`1970-01-01T${aika}Z`)));
  7.   } catch (e) {
  8.     return false;
  9.   }
  10. }
  11.  
  12. const kaannaAika = (aikaArvo) => {
  13.   try {
  14.     const kaannetty = aikaArvo.split(":").join("").split("").reverse().join("");
  15.     return kaannetty.slice(-6,-4)+":"+kaannetty.slice(-4,-2)+":"+kaannetty.slice(-2);
  16.   } catch (e) {
  17.     return null;
  18.   }
  19. }
  20.  
  21. // tapa1, logiikka jonka silmukoissa vain palindromiajat.
  22.  
  23. console.log("tapa1:");
  24. let yht=0, h=0, s0=0, s1=0, m0=0, m1=0;
  25. let aikaArvo="", kelvot=0, epakelvot=0;
  26. let palindromeja=0;
  27. for (h=0; h<10; h++) {
  28.   s0=h;
  29.   for (m1=0; m1<6; m1++) {
  30.     s1=m1;
  31.     for (m0=0; m0<10; m0++) {
  32.       aikaArvo=h+":"+m1+m0+":"+s1+s0;
  33.       console.log(aikaArvo);
  34.       yht++;
  35.       if (kelvollinenAika(aikaArvo)) kelvot++;
  36.       else epakelvot++;
  37.       if (aikaArvo === kaannaAika(aikaArvo)) palindromeja++;
  38.     }
  39.   }
  40. }
  41. for (h=10; h<24; h++) {
  42.   if (h % 10 > 5) continue;
  43.   s0=Math.floor(h/10);
  44.   s1=h % 10;
  45.   for (m1=0; m1<6; m1++) {
  46.     m0=m1;
  47.     aikaArvo=h+":"+m1+m0+":"+s1+s0;
  48.     console.log(aikaArvo);
  49.     yht++;
  50.     if (kelvollinenAika(aikaArvo)) kelvot++;
  51.     else epakelvot++;
  52.     if (aikaArvo === kaannaAika(aikaArvo)) palindromeja++;
  53.   }
  54. }
  55. console.log("Yhteensä:", yht, "kelvolliset:", kelvot, "epäkelvot:", epakelvot, "palindromeja:", palindromeja);
  56.  
  57. // tapa2 jossa käydään kaikki ajat (h:mm:ss), ja tulostetaan vain palindromiajat
  58.  
  59. console.log("tapa2:");
  60. aikaArvo="", yht=0, kelvot=0, epakelvot=0, palindromeja=0;
  61.  
  62. for (let h=0; h<24; h++) {
  63.   for (let m1=0; m1<6; m1++) {
  64.     for (let m0=0; m0<10; m0++) {
  65.       for (let s1=0; s1<6; s1++) {  
  66.         for (let s0=0; s0<10; s0++) {
  67.           aikaArvo=h+":"+m1+m0+":"+s1+s0;
  68.           yht++;
  69.           if (kelvollinenAika(aikaArvo)) kelvot++;
  70.           else epakelvot++;
  71.           if (aikaArvo === kaannaAika(aikaArvo)) {
  72.             console.log(aikaArvo);
  73.             palindromeja++;
  74.           }
  75.         }
  76.       }
  77.     }
  78.   }
  79. }
  80. console.log("Yhteensä:", yht, "kelvolliset:", kelvot, "epäkelvot:", epakelvot, "palindromeja:", palindromeja);
  81.  
Advertisement
Add Comment
Please, Sign In to add comment