Урок 13.1 Задача 21
Primary tabs
Пользователь передает целое положительное число N, выведете на экран последовательность от 1 до N, так чтобы ширина "ёлочки" росла волнами. Например, для N=49 получим:
1
2 3--сначала до двух
4
5 6
7 8 9--потом до трёх
10 11
12--возвращаемся к одному
13 14
15 16 17
18 19 20 21--тут уже четыре
22 23 24 25 26--снова убывает
27 28 29 30
31 32 33
34 35
36
37 38
39 40 41
42 43 44 45
46 47 48
49
Решение:
program u13z21; var i,j,k,N,M,t:integer; begin writeln('Vvedite chislo - N'); readln(N); M:=2; i:=1; //номер элемента по порядку j:=1; //номер строки k:=1; t:=1;//номер элемента в строке for i:=1 to N do begin write(i,' '); if j=k then begin writeln(); j:=0; if k=M then begin t:=0; M:=M+1; end; if k=1 then t:=1; if t=1 then k:=k+1; if t=0 then k:=k-1; end; j:=j+1; end; readln(); end.
Консоль:
Vvedite chislo - N 51 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51
- Log in to post comments
- 1471 reads
vedro-compota
Wed, 06/01/2022 - 21:10
Permalink
if k=M then
-- выяснить какие условия выполняются одновременно, а какие нет - если непонятно см. задача 11 урок 9 http://fkn.ktu10.com/?q=node/8539
_____________
матфак вгу и остальная классика =)
avast36
Sat, 06/04/2022 - 13:26
Permalink
немного исправил
vedro-compota
Sun, 06/05/2022 - 12:08
Permalink
if k=M then
-- не нужен ли тут else?
_____________
матфак вгу и остальная классика =)