Программа на с++.составить программу для проверки утверждения: "результатом вычисления значения выражения x^2+x+41 при x=(0,40), являются простые числа."
Так как каждая сеть должна адресовать не менее 2000 узлов, последнее число может быть любым (256 вариантов). На 2-ом справа числе должна быть маска так, чтобы была свобода хотя бы в 8 номеров (256*8=2048). Но при этом чтобы все три адреса попали в три разных сети. Второе число должно быть 11111000(2) = 248(10). 1 сеть будет от 192.168.176.1 до 192.168.183.254 - в ней 192.168.181.171. 2 сеть будет от 192.168.160.1 до 192.168.167.254 - в ней 192.168.165.80 3 сеть будет от 192.168.168.1 до 192.168.175.254 - в ней 192.168.173.134. ответ: 255.255.248.0 для всех трех сетей.
Const Sz = 1000; var a: array [1..Sz] of integer; a1: array [1..Sz] of integer; a2: array [1..Sz] of integer; a3: array [1..Sz] of integer; M: integer; N: integer; i: integer; k: integer;begin read(M); readln(N); for k:=1 to N do begin read(a[i]); readln(a1[i]); if (a[i]<>0) then a3[i]:=1 else a3[i]:=0; end; for k:=1 to N do begin if(a3[i]<>0) then begin for i:=1 to i do begin if(a3[k]=0) then d[i]:=1; if (a2[k]=i) then d[k]:=0; end; writeln(a3[i]) end;end;end. вроде так
#define left 0
#define right 40
int prime(int x){
int d = 2;
while(d < x && x%d != 0) d++;
return d == x;
}
int main(){
int x;
for(x = left; x <= right; x++)
if( !prime(x*x + x + 41) ){
printf("False \n%d^2 + %d + 41 = %d \n", x, x, x*x + x + 41);
break;
}
if(x > right) printf("True \n");
return 0;
}