Var a,b,c : integer; begin writeln ('введите первое число'); readln (a); if a mod 2=0 then writeln ('это число является чётным') else writeln ('это число является нечётным'); writeln ('введите второе число'); readln (b); if b mod 2=0 then writeln ('это число является чётным') else writeln ('это число является нечётным'); writeln ('введите третье число'); readln (c); if c mod 2=0 then writeln ('это число является чётным') else writeln ('это число является нечётным'); end.
baranovaas
23.07.2021
Const ptr = 10; type razbivka = array[0..ptr] of byte; var n, i, z, k: byte; x: razbivka; procedure p(var x: razbivka; var z: byte); var i, j, s: byte; begin i : = z - 1; s : = x[z]; while (i > 1) and ( x[i - 1] < = x[i] ) do begin s : = s + x[i]; dec(i); end; inc( x[i] ); z : = i + s - 1; for j : = i + 1 to z do x[j] : = 1; end; begin write('введите число: '); readln(n); write(n,' = '); z : = n; for i : = 1 to z do x[i] : = 1; for i : = 1 to n do begin if i > 1 then write(' + '); write( x[i], '' ); end; writeln; repeat p( x, z ); inc(k); write( n,' = ' ); for i : = 1 to z do begin if i > 1 then write(' + '); write( x[i], '' ); end; writeln; until z = 1; end.p.s: нашел в интернете для вас вариант с рекурсией. сами можете убедиться, что с ней только хуже (по быстродействию уж точно)const m = 100; var a: array[1..m] of integer; k, n: integer; procedure p(j,n: integer); var i: integer; begin if ( n = 0 ) and ( k > 1 ) thenbegin for i : = 1 to k dowrite( a[i] : 4 ); writeln; end else for i : = j to n dobegininc(k); a[k] : = i; p( j, n - i ); dec(k); end; end; beginwrite('введите число: '); readln(n); k : = 0; p(1,n); end.значения ptr и m можно поставить и больше, но тогда я не ручаюсь)
Ответить на вопрос
Поделитесь своими знаниями, ответьте на вопрос:
Вкоробке кубики. всё кубики разного цвета. сообщение о том, что из коробки достали красные кубики несёт 4 бита информации.скольео кубиков в коробке
ответ:
тютю нету кудиков кудато
объяснение: