Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
КНИГА_Учимся программировать TURBO PASCAL 7.doc
Скачиваний:
32
Добавлен:
19.08.2019
Размер:
1.62 Mб
Скачать

Var I, n, m, k, nod : integer;

BEGIN

{ДАНЫ НАТУРАЛЬНЫЕ ЧИСЛА М И N. ОПРЕДЕЛИТЬ

ИХ НАИБОЛЬШИЙ ОБЩИЙ ДЕЛИТЕЛЬ NOD }

REPEAT

WRITE('ВВЕДИТЕ НАТУРАЛЬНОЕ ЧИСЛО N = ');

READLN (N);

WRIТЕ('ВВЕДИТЕ НАТУРАЛЬНОЕ ЧИСЛО М =');

READLN (M);

UNTIL (N>0) AND (M>0);

IF N>M THEN К := M ELSE К := N;

FOR I := 1 TO К DO

IF (N MOD I = 0) AND (M MOD I = 0) THEN NOD := I;

WRITELN('НАИБОЛЬШИЙ ОБЩИЙ ДЕЛИТЕЛЬ ЧИСЕЛ', N, 'И', М, 'NOD = ',NOD)

END.

Для решения задачи:

- формируем тело программы и описываем переменные;

- вводим натуральные числа М и N;

- в цикле от 1 до наименьшего числа порождаем число I и проверяем, является ли оно одновременно делителем М и N;

- запоминаем этот делитель в переменной NOD;

- выводим результат.

Переменные:

N, М - исследуемые числа;

I - переменная цикла;

NOD - наибольший общий делитель;

К - наименьшее из М и N.

ВВЕДИТЕ НАТУРАЛЬНОЕ ЧИСЛО N = 12

ВВЕДИТЕ НАТУРАЛЬНОЕ ЧИСЛО М = 18

НАИБОЛЬШИЙ ОБЩИЙ ДЕЛИТЕЛЬ ЧИСЕЛ 12 И 18 NOD = 6

ВВЕДИТЕ НАТУРАЛЬНОЕ ЧИСЛО N = 13

ВВЕДИТЕ НАТУРАЛЬНОЕ ЧИСЛО М = 59

НАИБОЛЬШИЙ ОБЩИЙ ДЕЛИТЕЛЬ ЧИСЕЛ 13 И 59 NOD = 1

Рис. 2.4. Результат работы PRG2_7

Задача 2.8 Даны натуральные числа М и N. Определить их наименьшее общее кратное Nok.

PROGRAM PRG2_8;

Var I, n, m, k, nod, nok : integer;

BEGIN

{ДАНЫ НАТУРАЛЬНЫЕ ЧИСЛА М И N.

ОПРЕДЕЛИТЬ ИХ НАИМЕНЬШЕЕ ОБЩЕЕ КРАТНОЕ NOK }

REPEAT

WRITE('ВВЕДИТЕ НАТУРАЛЬНОЕ ЧИСЛО N = ');

READLN (N);

WRITE('ВВЕДИТЕ НАТУРАЛЬНОЕ ЧИСЛО М =');

READLN (M);

UNTIL (N>0) AND (M>0);

IF N>M THEN К := M ELSE К := N;

FOR I := 1 TO К DO

IF (N MOD I = 0) AND (M MOD I = 0) THEN NOD := I;

NOK := NOD*(N DIV NOD)*(M DIV NOD);

WRITELN('HAИМЕНЬШEE ОБЩЕЕ КРАТНОЕ ЧИСЕЛ');

WRITELN(N, 'И', М, 'NOK =', NOK)

END.

Для решения задачи:

- формируем тело программы и описываем переменные;

- вводим натуральные числа М и N;

- в цикле от 1 до наименьшего числа порождаем число I и проверяем, является ли оно одновременно делителем М и N;

- запоминаем этот делитель в переменной NOD;

- учитывая, что NOK = NOD*(N DIV NOD)*(M DIV NOD), выводим результат.

Переменные:

N, M - исследуемые числа;

I - переменная цикла;

NOD - наибольший общий делитель;

NOK - наименьшее общее кратное;

К - наименьшее из М и N.

Задача 2.9 Дано натуральное число N. Определить, является ли оно автоморфным. Автоморфное число п равно последним разрядам квадрата этого числа: 5 <-> 25, 6<->36, 25 <-> 625.

PROGRAM PRG2_9;

Var n, r, m : integer;

BEGIN

{ДАНО НАТУРАЛЬНОЕ ЧИСЛО N. ОПРЕДЕЛИТЬ, ЯВЛЯЕТСЯ ЛИ ОНО АВТОМОРФНЫМ. АВТОМОРФНОЕ ЧИСЛО N РАВНО ПОСЛЕДНИМ РАЗРЯДАМ КВАДРАТА ЭТОГО ЧИСЛА: 5 <-> 25, 6 <-> 36, 25 <-> 625 }

REPEAT

WRITE('BBEДИTE НАТУРАЛЬНОЕ ЧИСЛО N = ');

READLN (N);

UNTIL N>0;

М := N; R := 1;

WHILE M>0 DO

BEGIN

M := M DIV 10;

R:=R*10;

END;

IF (N*N MOD R) = N THEN

WRITELN('ЧИСЛО ', N, ' АВТОМОРФНО')

ELSE WRITELN('ЧИСЛО ', N, ' HE АВТОМОРФНО')

END.

Для решения задачи:

- формируем тело программы и описываем переменные;

- вводим натуральное N;

- определяем, сколько в нем разрядов, и формируем R;

- отделяем нужное количество разрядов от N*N с помощью функции N*N MOD R;

- выводим результат.

Переменные:

N - исследуемое число;

М, R - вспомогательные переменные.

Задача 2.10 Дано натуральное чист N. Определить, является ли оно палиндромом. Число-палиндром можно чи­тать справа налево и слева направо: 4 88 121 767767 и т. д.

PROGRAM PRG2_10;