Здравствуйте! опять я к Вам за помощью. Вот суть задачи: Дано натуральное число n. Среди чисел 1, 2, …, n найти все такие, запись которых совпадает с последними цифрами записи их квадрата.. Я никак не могу сообразить с алгоритмом...Я понимаю, что нужно использовать цикл и скорее всего div и mod...Но как это все совместить..Если бы хотя бы было известно n (я имею ввиду четырехзначное оно, или может восьмизначное). Подскажите, пожалуйста, алгоритм.
volvo
18.02.2008 13:49
Я бы сделал что-то типа:
...
for i := 1to n dobegin
sq := sqr(i); { Находишь квадрат числа }
T := i; { Запоминаешь само число, чтоб его можно было изменять }while T > 0dobeginif T mod10 = sq mod10thenbegin{ сравниваешь последние цифры числа и квадрата }
T := T div10; sq := sq div10;
endelse break; { как только они не равны - выходишь из внутреннего цикла }end;
if T = 0then writeln(i); { если просмотрели число полностью - печатать результат }end;
...
(набирал прямо здесь, так что могут быть помарки, но алгоритм, по-моему, рабочий...)
Анюта
18.02.2008 15:04
Большое спасибо,Volvo! Дома попробую реализовать!
Добавлено через 16 мин. Volvo!!!! Спасибо, набрала сейчас в Паскале, все работает!!! Удачи тебе! Еще раз огромное спасибо!
Это текстовая версия — только основной контент. Для просмотра полной версии этой страницы, пожалуйста, нажмите сюда.