bnghtz

15-14-13.html

Dec 14th, 2013
222
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
HTML 3.56 KB | None | 0 0
  1. <!DOCTYPE html>
  2. <html>
  3. <body>
  4. <table border="0">
  5.   <tr>
  6.     <td>Számjegyek (1 - 32)</td>
  7.     <td>
  8.       <select id="szamjegy">
  9.         <option value="1">1</option>
  10.         <option value="2">2</option>
  11.         <option value="3">3</option>
  12.         <option value="4">4</option>
  13.         <option value="5">5</option>
  14.         <option value="6">6</option>
  15.         <option value="7">7</option>
  16.         <option value="8">8</option>
  17.         <option value="9">9</option>
  18.         <option value="10">10</option>
  19.         <option value="11">11</option>
  20.         <option value="12">12</option>
  21.         <option value="13">13</option>
  22.         <option value="14">14</option>
  23.         <option value="15" SELECTED>15</option>
  24.         <option value="16">16</option>
  25.         <option value="17">17</option>
  26.         <option value="18">18</option>
  27.         <option value="19">19</option>
  28.       </select>
  29.     </td>
  30.   </tr>
  31.   <tr>
  32.     <td>
  33.       Osztó
  34.     </td>
  35.     <td>
  36.       <input type="text" name="oszto" id="oszto" value="14">
  37.     </td>
  38.   </tr>
  39.  
  40.   <tr>
  41.     <td>
  42.       Számjegyek összege
  43.     </td>
  44.     <td>
  45.       <input type="text" name="szamjegyek_osszege" id="szamjegyek_osszege" value="13">
  46.     </td>
  47.   </tr>
  48. </table>
  49.  
  50. <br>
  51. <button onclick="szamolas()">Számolás!</button>
  52. <p id="demo"></p>
  53.  
  54.  
  55. <script>
  56. /*
  57. Egy 15-jegyű,14-gyel osztható szám számjegyeinek összege 13. Határozzuk meg a legkisebb ilyen tulajdonságú szám 12. számjegyét!?
  58. */
  59.  
  60. function szamjegyekOsszege(d)
  61. {
  62.   var osszeg = 0;
  63.   d = d + ''; //parseString
  64.   var tomb = d.split('');
  65.   for (var j in tomb)
  66.   {
  67.     osszeg += parseInt(tomb[j]);
  68.   }
  69.   return osszeg;
  70. }
  71.  
  72. //function szamolas(){alert(11);}
  73. function szamolas()
  74. {
  75.  
  76.   var warning = '';
  77.  
  78.   // P A R A M E T E R E K
  79.   var e = document.getElementById('szamjegy');
  80.   var szamjegy = e.options[e.selectedIndex].value;
  81.   szamjegy = parseInt(szamjegy);
  82.  
  83.   if (!szamjegy)
  84.   {
  85.     warning += "Hibás számjegy!\n";
  86.     szamjegy = 15;
  87.   }
  88.  
  89.   var oszto = parseInt(document.getElementById('oszto').value);
  90.  
  91.   if (!oszto)
  92.   {
  93.     warning += "Hibás osztó!\n";
  94.     oszto = 14;
  95.   }  
  96.  
  97.   var szamjegyek_osszege = parseInt(document.getElementById('szamjegyek_osszege').value);
  98.   if (!szamjegyek_osszege)
  99.   {
  100.     warning += "Hibás a számjegyek összege!\n";
  101.     szamjegyek_osszege = 13;
  102.   }
  103.  
  104.   if (warning) alert(warning);
  105.  
  106.   var szam = 0;
  107.   var max = Math.pow(10, szamjegy + 1);
  108.  
  109.   var i = Math.pow(10,szamjegy);
  110.   while (!szam)
  111.   {
  112.     if (i % oszto == 0)
  113.     {
  114.       if (szamjegyekOsszege(i) == szamjegyek_osszege)
  115.       {
  116.         szam = i;
  117.       }
  118.     }
  119.  
  120.     i++;
  121.    
  122.     if (i >= max) szam = -1;
  123.   }
  124.  
  125.   if (szam == -1)
  126.   {
  127.     szam = "nem létezik";
  128.   }
  129.   else
  130.   {
  131.     // harmas csoporgba rendezes
  132.     szam = '' + szam;
  133.     var _array = szam.split('');
  134.     var l = _array.length;
  135.     szam = '';
  136.    
  137.     while(l > 0)
  138.     {
  139.       if (l == 0)
  140.       {
  141.         if (_array[0])
  142.        
  143.         szam = _array[0] + szam ? ' ' + szam : '';
  144.         l = 0;
  145.       }
  146.       else if (l == 1)
  147.       {
  148.         szam = _array[0] + _array[1]+ ' ' + szam;
  149.         l = 0;
  150.       }
  151.       else
  152.       {
  153.         szam = _array[l-3] + _array[l-2] + _array[l-1] + ' ' + szam;
  154.         l -= 3;
  155.       }
  156.     }
  157.     szam = szam.replace(/ *$/g,'');
  158.   }
  159.   var text = "Legkisebb olyan "+szamjegy+" számjegyű szám, ami osztható "+oszto+" számmal és a számjegyeinek összege "+ szamjegyek_osszege +" az a <b>"+szam+"</b>";
  160.  
  161.   document.getElementById('demo').innerHTML = text;
  162. }
  163. </script>
  164.  
  165. </body>
  166. </html>
Advertisement
Add Comment
Please, Sign In to add comment