я просто ищу все простые числа в диапазоне от 1 до n с решето эратосфена, а далее просто сравниваю вектор с простыми числами.
мой пример решения:#include
#include
using namespace std;
int main()
{
int n;
cin > > n;
vector prime (n+1, true);
prime[0] = prime[1] = false;
for (int i=2; i*i< =n; ++i)
if (prime[i])
for (int j=2; j< =n/i; j++)
if (prime[i*j]) prime[i*j] = false;
for(int i = 0; i < prime.size(); ++i)
{
for(int j = i; j < prime.size(); ++j)
{
if(prime[i]& & prime[j])
if(i+j==n)
cout < < i < < " " < < j < < endl;
}
}
cin.get();
cin.get();
}
type ar=array[1..n,1..m] of integer;
procedure p1(var a:ar);
var i,j:integer;
begin
for i:=1 to n do begin
for j:=1 to m do begin
a[i,j]:=random(20)-10;
write(a[i,j]:4);
end;
writeln;
end;
end;
var a:ar; i,j,max,im,jm:integer;
begin
Randomize;
p1(a);
max:=a[1,1]; im:=1; jm:=1;
for i:=1 to n do
for j:=1 to m do
if a[i,j]>max then
begin max:=a[i,j]; im:=i; jm:=j; end;
writeln('max = a[',im,',',jm,'] = ',max);
end.
Пример:
2 -1 -7 0 7
3 7 -7 -7 3
-7 -5 -3 -2 5
9 -4 -4 -7 -7
max = a[4,1] = 9