Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- <!DOCTYPE html>
- <html>
- <body>
- <table border="0">
- <tr>
- <td>Számjegyek (1 - 32)</td>
- <td>
- <select id="szamjegy">
- <option value="1">1</option>
- <option value="2">2</option>
- <option value="3">3</option>
- <option value="4">4</option>
- <option value="5">5</option>
- <option value="6">6</option>
- <option value="7">7</option>
- <option value="8">8</option>
- <option value="9">9</option>
- <option value="10">10</option>
- <option value="11">11</option>
- <option value="12">12</option>
- <option value="13">13</option>
- <option value="14">14</option>
- <option value="15" SELECTED>15</option>
- <option value="16">16</option>
- <option value="17">17</option>
- <option value="18">18</option>
- <option value="19">19</option>
- </select>
- </td>
- </tr>
- <tr>
- <td>
- Osztó
- </td>
- <td>
- <input type="text" name="oszto" id="oszto" value="14">
- </td>
- </tr>
- <tr>
- <td>
- Számjegyek összege
- </td>
- <td>
- <input type="text" name="szamjegyek_osszege" id="szamjegyek_osszege" value="13">
- </td>
- </tr>
- </table>
- <br>
- <button onclick="szamolas()">Számolás!</button>
- <p id="demo"></p>
- <script>
- /*
- 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!?
- */
- function szamjegyekOsszege(d)
- {
- var osszeg = 0;
- d = d + ''; //parseString
- var tomb = d.split('');
- for (var j in tomb)
- {
- osszeg += parseInt(tomb[j]);
- }
- return osszeg;
- }
- //function szamolas(){alert(11);}
- function szamolas()
- {
- var warning = '';
- // P A R A M E T E R E K
- var e = document.getElementById('szamjegy');
- var szamjegy = e.options[e.selectedIndex].value;
- szamjegy = parseInt(szamjegy);
- if (!szamjegy)
- {
- warning += "Hibás számjegy!\n";
- szamjegy = 15;
- }
- var oszto = parseInt(document.getElementById('oszto').value);
- if (!oszto)
- {
- warning += "Hibás osztó!\n";
- oszto = 14;
- }
- var szamjegyek_osszege = parseInt(document.getElementById('szamjegyek_osszege').value);
- if (!szamjegyek_osszege)
- {
- warning += "Hibás a számjegyek összege!\n";
- szamjegyek_osszege = 13;
- }
- if (warning) alert(warning);
- var szam = 0;
- var max = Math.pow(10, szamjegy + 1);
- var i = Math.pow(10,szamjegy);
- while (!szam)
- {
- if (i % oszto == 0)
- {
- if (szamjegyekOsszege(i) == szamjegyek_osszege)
- {
- szam = i;
- }
- }
- i++;
- if (i >= max) szam = -1;
- }
- if (szam == -1)
- {
- szam = "nem létezik";
- }
- else
- {
- // harmas csoporgba rendezes
- szam = '' + szam;
- var _array = szam.split('');
- var l = _array.length;
- szam = '';
- while(l > 0)
- {
- if (l == 0)
- {
- if (_array[0])
- szam = _array[0] + szam ? ' ' + szam : '';
- l = 0;
- }
- else if (l == 1)
- {
- szam = _array[0] + _array[1]+ ' ' + szam;
- l = 0;
- }
- else
- {
- szam = _array[l-3] + _array[l-2] + _array[l-1] + ' ' + szam;
- l -= 3;
- }
- }
- szam = szam.replace(/ *$/g,'');
- }
- 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>";
- document.getElementById('demo').innerHTML = text;
- }
- </script>
- </body>
- </html>
Advertisement
Add Comment
Please, Sign In to add comment