Замена чисел в массиве на буквы - Pascal
Формулировка задачи:
Есть массив с типом longint, как заменить в этом массиве определенное число буквой? (например все числа 1 заменить буквой а, все числа 13 буквой д)
Решение задачи: «Замена чисел в массиве на буквы»
textual
Листинг программы
var
n, cnt :longint;
a :array[1 .. 10000] of longint;
function IsPrime(x :longint) :boolean;
var p :longint;
begin
IsPrime := true;
p := 2;
while (p * p <= x) do begin
if (x mod p = 0) then
IsPrime := false;
p := p + 1;
end;
end;
procedure rec(x, last :longint);
var i :longint;
begin
if (x = 0) then begin
for i := 1 to cnt do
write(a[i], ' ');
writeln;
exit();
end;
if cnt < 10 then { <-- здесь условие на количество слагаемых }
for i := last to x do { <-- цикл разложения числа на слагаемые }
if (IsPrime(i)) then begin
inc(cnt);
a[cnt] := i;
rec(x - i, i);
dec(cnt);
end;
for i:=1 to n do { <-- замена определенных чисел на буквы }
case a[i] of
2:write('а',' ');
3:write('д',' ');
else write(a[i],' ');
end;
end;
begin
readln(n);
rec(n, 2);
end.
Объяснение кода листинга программы
- Объявление переменных:
n- целочисленная переменная для хранения числаcnt- целочисленная переменная для хранения счетчикаa- массив из 10000 целочисленных элементов
- Функция IsPrime(x) - проверка числа на простоту:
- Входной параметр:
x- целое число для проверки - Локальная переменная
p- целое число - Функция возвращает логическое значение: true, если число простое, иначе false
- Входной параметр:
- Процедура rec(x, last) - рекурсивное разложение числа на слагаемые:
- Входные параметры:
x- целое число, которое нужно разложить,last- последнее простое число - Локальная переменная
i- целое число - Если x равно 0, выводятся слагаемые, иначе выполняется цикл разложения числа на слагаемые
- После разложения числа на слагаемые, определенные числа заменяются на соответствующие буквы (
2наа,3над, остальные остаются числами)
- Входные параметры:
- Основная часть программы:
- Считывание значения переменной
n - Вызов процедуры rec(n, 2)
Этот код берет целое число
n, разлагает его на простые числа и заменяет определенные числа на буквы.
- Считывание значения переменной