Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Практика Алгоритмические языки.doc
Скачиваний:
11
Добавлен:
14.02.2015
Размер:
360.45 Кб
Скачать

Программа

Program Problem3; { Разлож. числа на прост. множит.. 1- й спос. }

var

n, i : integer;

begin

write('Введите натуральное число '); readln(n);

write('Простые делители числа ', n, ' следующие; ');

i := 2;

while i <= n do

if n mod i =0 then

begin

write(i, ' ');

n := n div i

end

else i := i + 1

end.

Пример 8. Написать программу, в результате выполнения которой выяснится, входит ли цифра 2 в запись данного целого числа n.

Идея составления программы проста. Надо организовать цикл, в котором выделять цифры числа уже известным вам способом и каждую из них сравнивать с цифрой 2. Если цифра числа оказывается равной двум, тогда надо счетчик, которым может быть некоторая числовая переменная, увеличивать на единицу, иначе, цикл надо продолжать.

Когда цикл будет выполнен полностью, т. е. все цифры числа проверены и каждая из них будет сравнена с цифрой 2, надо снова использовать условный оператор и сравнить значение переменной - счетчика с нулем. Если значение переменной равно нулю, то это значит, что цифра 2 не входит в запись числа, иначе - входит.

Алгоритм

1. Начало. Переменные целого типа n, p, k: n - для вводимого числа; p - для цифр этого числа; k - счетчик, подсчитывающий количество цифр в числе, равных 2.

2. Ввод целого числа.

Счетчику k устанавливается первоначальное значение 0.

3. Цикл, пока n <> 0. В цикле, переменной p присваивать значение цифры числа.

Если p = 2, тогда увеличивать k на единицу.

Вычесть из числа n последнюю цифру и разделить его на 10.

Продолжить и закончить цикл.

4. Если k = 0, тогда выдать сообщение: "Цифра 2 не входит в запись числа", иначе, выдать сообщение: "Цифра 2 входит в запись числа".

5. Конец.

Программа

Program Problem4; { Входит ли цифра 2 в запись числа }

var

n, p, k : integer;

begin

write('Введите целое число '); readln(n);

k := 0;

while n <> 0 do

begin

p := n mod 10;

if p = 2 then k := k + 1;

n := n div 10

end;

if k = 0 then writeln('Цифра 2 не входит в запись этого числа')

else writeln('Цифра 2 входит в запись этого числа')

end.

Пример 9. Составить программу вывода всех натуральных чисел, меньших n, квадрат суммы цифр которых равен заданному числу m.

Сущность задачи такова. Вводится натуральное число, до которого надо выводить все натуральные числа, удовлетворяющие заданному условию. Пусть, например, пользователь введет число - 21.

Второе число, которое надо ввести пользователю - это число, которому равен квадрат суммы цифр натуральных чисел.

Понятно, что это число должно быть точным квадратом, оно может быть: 4, 9, 16, 25, 36 и т.д.

Допустим, что пользователь ввел число 4.

Надо найти все натуральные числа от 1 до 21, квадрат суммы цифр которых равна 4. Начинаем из чисел: 1, 2, 3, 4, 5, ..., 21, выбирать те, которые удовлетворяют заданному условию.

Первое из них - 2, так как 22 = 4, второе - 11, так как (1 + 1)2 = 22 = 4, третье - 20, так как (2 + 0)2 = 22 = 4.

Других натуральных чисел до 21, удовлетворяющих такому условию нет.

Все отобранные числа надо вывести на экран, т. е. 2, 11 и 20.