в двумерном массиве N*N найти простые числа,и если в строках находятся более двух простых чисел то обнулить эти строки.
10-11 класс
|
вот жутко неэффективное решение, для нормального надо писать решето эратосфена, можно нагуглить, если нужна эффективность
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.
Другие вопросы из категории
int(6,9)
2. определите тип выражения : exp(43)
3. вычислите значение логического выражения : tranc(10*P), при P=0,1461
4. запишите математическое выражение на языке Pascal : 10 в степени 4 + In3!
Очень срочно нужно!!!!! заранее спасибо!!
Читайте также
Найти произведение отрицательных элементов указанной строки двумерного массива размером 4*5 целых чисел.
2.найти первое число Фибоначчи, большее заданного n (n>1).
Имя массива J
Размер 32
Программа должна реализовывать следующие функции:
1.Сумма всех чисел
2.минимальное чётное число
3.кол-во отрицательных нечётных чисел
4.сумма отрицательных нечетных чисел
В двумерном массиве М[1..6,1..4] определить индексы наименьшего элемента в каждой строчке.
одном из языков программирования алгоритм, позволяющий найти и вывести максимальное значение среди трехзначных элементов массива, оканчивающихся на 0