Предмет: Информатика,
автор: Дима0001
Здравствуйте! Помогите пожалуйста написать программу с объяснением (PascalABC)
Даны первые 4 строки:
1) 1
2) 112
3) 1121123
4) 112112311211234 и т. д.
Написать программу выводящую N строку (N<=20)
Ответы
Автор ответа:
0
Заметим, чтобы сгенерировать строку, нужно знать только предыдущую строку. Будет генерировать по порядку от 1 до n-ой строки.
Программа:
var
n, i: integer;
cur_str, prev_str: string;
begin
read(n);
prev_str := '';
for i := 1 to n do {Генерируем строки по порядку от 1 до n}
begin
str(i, cur_str); {Записываем в текущую строку её порядковый номер}
cur_str := prev_str + prev_str + cur_str; {Дописываем предыдущую строку два раза в начало}
prev_str := cur_str; {Записываем текущею строку вместо предудущей}
end;
writeln(cur_str);
end.
Программа:
var
n, i: integer;
cur_str, prev_str: string;
begin
read(n);
prev_str := '';
for i := 1 to n do {Генерируем строки по порядку от 1 до n}
begin
str(i, cur_str); {Записываем в текущую строку её порядковый номер}
cur_str := prev_str + prev_str + cur_str; {Дописываем предыдущую строку два раза в начало}
prev_str := cur_str; {Записываем текущею строку вместо предудущей}
end;
writeln(cur_str);
end.
Похожие вопросы
Предмет: Другие предметы,
автор: Аноним
Предмет: Русский язык,
автор: pgluskova7
Предмет: Информатика,
автор: markinmaxsim
Предмет: Экономика,
автор: nekit0120