Замена чисел в массиве на буквы - 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
, разлагает его на простые числа и заменяет определенные числа на буквы.
- Считывание значения переменной
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д