8. определите значение переменной c после выполнения следующего фрагмента программы: a : = 6; b : = 15; a : = b – a*2; if a > b then c : = a + b else c : = b – a;
Program menu; uses crt; var m, i: integer; n, z, x, b: longint; begin Writeln('Выберете пункт меню:'); Writeln('[1]Вычисление суммы цыфр числа N'); Writeln('[2]Вывод на экран таблицы квадратов первого десятка'); Writeln('[3]Дано число N. Определить его четность'); Writeln('[4]Выход'); read(m); case m of 1: begin clrscr; writeln('Введите число N:'); read(n); x := 10; z := n mod x; while n div x > 0 do begin b := x; x := x * 10; z := z + n mod x div b; end; Writeln('ответ: ', z); end; 2: begin clrscr; for i := 1 to 10 do begin writeln('Квадрат ', i, ' = ', sqr(i)); end; end; 3: begin clrscr; writeln('Введите число N:'); read(n); if (n mod 2 ) = 0 then writeln('Число ', n, ' четное.') else writeln('Число ', n, ' не четное.'); end; 4: exit; end; end.
Вот жутко неэффективное решение, для нормального надо писать решето эратосфена, можно нагуглить, если нужна эффективность
function isPrime (a : integer) : boolean; var i, lim : integer; begin if n < 4 then begin if n = 1 then isPrime := false else isPrime := true; exit; end; lim := trunc (sqrt (a)); for i := 2 to lim do if a mod i = 0 then begin isPrime := false; exit; end; isPrime := true; end;
var a : array of array of integer; b : array of integer; i, j, n : integer;
begin read (n); setlength (a, n, n); setlength (b, n); for i := 0 to n - 1 do for j := 0 to n - 1 do read (a[i, j]); for i := 0 to n - 1 do begin b[i] := 0; for j := 0 to n - 1 do if isPrime(a[i, j]) then inc (b[i]); end; for i := 0 to n - 1 do begin if b[i] <= 2 then for j := 0 to n - 1 do write (a[i, j], ' ') else for j := 0 to n - 1 do write ('0 '); writeln; end; end.