bool ok1(int a, int b, int c){
return (a+b > c && a+c > b && b+c > a) && min(a,min(b,c)) > 0;
}
bool ok2(int a, int b, int c){
return ok1(a,b,c) && (a == b || a == c || b == c);
}
signed main(){
const int n = 3, m = 7;
int arr[n][m];
for(int i = 0; i < n; i++)
for(int j = 0; j < m; j++)
cin >> arr[i][j];
vector<int> ans;
for(int j = 0; j < m; j++)
if(ok2(arr[0][j],arr[1][j],arr[2][j]))
ans.push_back(j+1);
cout << ans.size() << "\n";
for(auto i: ans)
cout << i << " ";
}
Подробнее - на -
Объяснение:
Var
K:real;
d:integer;
Begin
if A > 1 then
if (A = 2)or(A = 3) then p:=p+1
else
if A mod 2 <> 0 then
Begin
K:=Sqrt(A);
d:=3;
While (d<K)and(A mod d <> 0) do
d:=d+2;
if A mod d <> 0 then
Begin
p:=p+1;
Write('(простое)')
End
End;
End;
Const
N = 20;
Var
A:array[1..N] of integer;
i,k:integer;
Begin
Randomize;
k:=0;
Write('Исходный массив:');
For i:= 1 to N do
Begin
A[i]:=random(99)+1;
Write(' ',A[i]);
P(A[i],k);
End;
WriteLn;
WriteLn('Кол-во простых чисел в массиве: ',k);
End.