bai 3 THTB CS 2020

25/03/2023

Bài 3:

Cách làm: Cho mảng 2 chiều a[n,n]. Ta xét đường chèo (1,1) -> (n,n) (tạm gọi giá trị ô là i).

Nếu như i là số nguyên tố:

  • Kiểm tra xem nó có lớn hơn số nguyên tố lớn nhất mà trước nó hay không

Khi ta có được số nguyên tố, ta thực hiện kiểm tra nếu

65 <= i và i <= 90

hoặc là 97 <= i và i <= 122

Định nghĩa max: là số nguyên tố lớn nhất trong đường chéo

Định nghĩa hàm prime(x): là hàm kiểm tra số nguyên tố

Trường hợp đặc biệt

3

2 2 2

2 2 2

2 2 2

Code
program alpha;
uses crt;
var a : array[1..100, 1..100] of integer;
    n : integer;
    i,j : integer;
    max : integer;
    f,g : text;

function prime(x : integer) : boolean;
var ii : integer;
begin
    if (x < 2) then exit(false);
    for ii := 2 to round(sqrt(x)) do
      if (x mod ii = 0) then exit(false);
    exit(true);
end;

BEGIN
    clrscr;
    assign(f, 'alpha.inp'); reset(f);
    readln(f, n);
    for i := 1 to n do
       for j := 1 to n do read(f, a[i,j]);
    close(f);
    max := -1;
    for i := 1 to n do
      begin
          if (prime( a[i,i] ) = true) then
            if (a[i,i] > max) then max := a[i,i];
      end;
    assign(g, 'alpha.out'); rewrite(g);
    if (max = -1) then write(g, max)
    else
      begin
          if (65 <= max) and (max <= 90) then write(g, char(max))
          else if (97 <= max) and (max <= 122) then write(g, char(max))
          else write(g, -1);
      end;
    close(g);

END.