с калькулятором сидеть не обязательно...
[HTML]<html>
<head>
<title>Автоморфные числа в заданном интервале</title>
<script language="JavaScript">
<!-- //
function interav (obj )
{ var s=""
var l=obj.left.value
var r=obj.rig.value
var s="Автоморфные числа в интервале от "+l+" до "
+r+"\r\n"
for (var i=l; i<=r; i++)
if ( avtomorf (i))
s +=i+" "+i*i+"\r\n"
obj.result.value=s
}
function avtomorf (a )
{ var p=a*a
var sa= String(a)
var sp= String(p)
var nsa= sa.length
var nsp= sp.length
endsp=sp.substr(nsp-nsa,nsa)
return (endsp==sa)
}
//-->
</script>
</head>
<body>
<h4>Автоморфные числа в заданном интервале</h4>
<form name="form1">
<pre>
Левое значение интервала: <input type="text" size=10
name="left">
Правое значение интервала: <input type="text" size=10
name="rig"><hr>
<input type="button" value=Найти onClick="
interav(form1)">
<textarea cols=45 rows=5 name=result></textarea>
<input type="reset" value=Очистить>
</pre>
</form></body></html>[/HTML]
с этой прогой можно найти последовательность автоморфных чисел...
Расширение longint'a
Модераторы: Хыиуду, MOTOCoder, Medved, dr.Jekill
попробуйте интервал 2-100
сможет программа найти число?
3953007319108169802938509890062166509580863811000557423423230896109004106619977392256259918212890625
сможет программа найти число?
3953007319108169802938509890062166509580863811000557423423230896109004106619977392256259918212890625
airyashov, как это число связано с интервалом 2 - 100?
Или это демонстрация того числа, которое HTML код не сможет найти?
Или это демонстрация того числа, которое HTML код не сможет найти?
It's a long way to the top if you wanna rock'n'roll
2-99 выдает 4 числа помоему (Автоморфные числа в интервале от 2 до 99somewhere писал(а):airyashov, как это число связано с интервалом 2 - 100?
Или это демонстрация того числа, которое HTML код не сможет найти?
5 25
6 36
25 625
76 5776
),
а в интервале 2-100 пусто (Автоморфные числа в интервале от 2 до 100)
как раз Я склонен к вашему варианту на паскале

Признаюсь, что не спец. в HTML-ных скриптах, но методом нежного взгляда и проб пришел к выводу, что таинсвенное описанное поведение кроется в строке кода:airyashov писал(а):2-99 выдает 4 числа помоему (Автоморфные числа в интервале от 2 до 99
5 25
6 36
25 625
76 5776
),
а в интервале 2-100 пусто (Автоморфные числа в интервале от 2 до 100)
for (var i=l; i<=r; i++)
У меня создалось впечатление, что здесь r - строкового типа. А i - число.
Т.е. для указанного интервала от 2 до 100 имеем:
for (var i='2'; i<='100'; i++)
Далее придположил, что инициализация i происходит путем успешного преобразование строки '2' в число 2, а вот при проверке i<='100' число обратно преобразуется в строку, и мы получаем '2' <= '100', что ложно (по правилам сравнения строк) и из цикла сразу выпадаем.
Правда, в эту теорию не вписывается тот факт, что есть указать интервал от 2 до 200, то искомые 4 числа опять находятся. Ведь, да, первая проверка ('2' <= '200') истинна, но уже следующий виток цикла, казалось бы, должен дать ложное условие ('3' <= '200')
Задаем от 3 до 200 - опять в ответе пусто.
Да ладно вам, это же HTML - это язык дизайнеров, а не программистов.
It's a long way to the top if you wanna rock'n'roll