Цитата:
|
ОмаЭль,
так ? function test(a) { for (a = ("" + a).split(""); 1 < a.length;) if (a.pop() != a.shift()) return !1; return !0 } function primer(a) { for (var b = 0; 10 > b && !test(a); b++) a += +("" + a).split("").reverse().join(""); return [a, test(a)] }; alert([primer(1),primer(2002),primer(18)]) |
Да, твой код работает, но для меня это еще сложноватая структура (Имеется ввиду понимаю как ты реализовал, но сам бы так не написал) , как бы смешно тебе это не казалось , мне интересно почему у меня не складывает...
|
ОмаЭль,
потому что -- вы хотите перевернуть строку а сложить числа |
Цитата:
|
ОмаЭль, смотрите медитируйте ... var нехватает ...for нерационален ... document.write ненужен ... но работает.
<!DOCTYPE html> <html> <head> <title>Таблица на Javascript</title> <meta charset="utf-8"> <script type="text/javascript"> document.write = function(a) { document.body.appendChild(document.createTextNode(a)); } function perevernytb() { kolvo = (''+hisl).length; //преобразуем в строку pereven = " "; for(var i = 0; i < kolvo; i++) { pereven += (''+hisl).charAt(kolvo -(i + 1)); //преобразуем в строку } pereven = pereven.replace(/\s+/g, ''); return +pereven //возвращаем число } function primer() { hisl = +document.all.hislo.value; //преобразуем в число var chethik = 1; while(perevernytb()!=hisl) { hisl += perevernytb(); chethik++; if(chethik==10) { break } } if(perevernytb()==hisl) { document.write("число полиндром : " + hisl); } if(perevernytb()!=hisl) { document.write("число не полиндром : " + hisl); } } </script> </head> <body> <form> <input type="text" value="171" name="hislo"><br> <input type="button" value="активация" onclick="primer()"> </form> </body> </html> |
про for и document согласен, а вот про var его там и не надо, если его указать то функция к которой обращаются не увидит переменную. P.s. Области видимости =)
Спасибо за помощь! |
Добавлю, что транслит - последнее дело. Хочешь писать по-русски - пиши по-русски, js позволяет:
<html> <head> <title>Таблица на Javascript</title> <meta charset="utf-8"> <script type="text/javascript"> document.write = function(a) { document.body.appendChild(document.createTextNode(a)); } function перевернуть() { количество = (''+число).length; //преобразуем в строку перевёрн = " "; for(var i = 0; i < количество; i++) { перевёрн += (''+число).charAt(количество -(i + 1)); //преобразуем в строку } перевёрн = перевёрн.replace(/\s+/g, ''); return +перевёрн //возвращаем число } function пример() { число = +document.all.число.value; //преобразуем в число var счётчик = 1; while(перевернуть() != число) { число += перевернуть(); счётчик++; if( счётчик == 10 ) { break } } if(перевернуть() == число) { document.write("число полиндром : " + число); } if(перевернуть() != число) { document.write("число не полиндром : " + число); } } </script> </head> <body> <form> <input type="text" value="171" name="число"><br> <input type="button" value="активация" onclick="пример()"> </form> </body> </html>Всё равно это лучше чем транслит. |
Часовой пояс GMT +3, время: 19:03. |