ДМ
Даниил Марченко

Написать на паскале одну из трех задач, использовать процедуру или функцию. Заранее спасибо!

1. Даны два натуральных числа. Определить, является ли первое число перевертышем второго.

2. Дано натуральное число. Найти все го делители и подсчитать их количество.

3. Из промежутка чисел от А до В найти те, у которых больше всего делителей.

Munira
Munira

1. Первое и второе число - в строку. Вторую строку переворачиваем. Если строки равны - перевертышь, иначе не перевертышь
2. В цикле по i от 1 до данного числа: брать остаток от деления (mod) данного числа на i, если результат равен 0 (т. е. i является делителем данного числа) то выводим i и увеличиваем счетчик на один (inc). В конце цикла все делители выведены а в счетчике кол-во делителей.
3. Вторую задачу оформить как функцию, на входе которой число, а на выходе - кол-во делителей. Потом в цикле по i от A до B вызывать написанную функцию с i на входе и запоминать число с максимальным кол-вом делителей. По завершении цикла будем иметь ответ.

РП
Роман Павлов

1.

function nrev(x: longint): longint;
var
r: longint;
begin
r := 0;
while x <> 0 do begin
r := r * 10 + x mod 10;
x := x div 10;
end;
nrev := r;
end;

var
a, b: longint;
begin
write('числа? ');
readln(a, b);
if b = nrev(a) then writeln('да') else writeln('нет');
end.

Наташа Карпова
Наташа Карпова

Могу только подсказать пару трюков. Для того чтобы найти делитель для числа нужно проверить все числа пополам плюс само число и единица. То есть если взять число 7 делим его без остатка на 2 получаем 3 и проверяем или остаток больше нуля. Если так выводим числитель на экран. В случае с 7 это будут 1 и 7. Другой пример: 6
Выводим: 1, 6 и проверяем до 6/2=3 То есть проверим 2 остаток 0 выводим 2, проверим 3 остаток 0 выводим 3. Итого делители 1, 6, 2 и 3.
Используем процедуру из задачи номер 2 для сравнения двух чисел.

Похожие вопросы
Помогите як написать процедуру на паскале
Паскаль (процедуры и функции)
Написать функцию на паскаль.
Помогите написать программу на паскале. Заранее спасибо))
как написать эту задачу в паскаль?
как написать задачу в паскаль?
Помогите решить задачу на паскале, заранее спасибо
разница между функциями в Си и функциями (и процедурами) в Паскаль
Задача в паскале с процедурой помогите решить!
Помогите написать задачу через процедуру и функцию