Pascal

Modified: Wednesday, 22-12-2021 07:00 AM

Chia mảng thành 2 đoạn có tổng bằng nhau



program chia_doan_bnhau;
uses crt;
var a:array[1..100] of integer;
    n,i:byte;
    tong,s:integer;
begin
   clrscr;
   write('nhap bao nhieu so? n= ');readln(n);
   for i:=1 to n do
   begin
      write('so ',i,': ');
      readln(a[i]);
   end;
   tong:=0;
   for i:= 1 to n do
      tong:=tong+a[i];
   if odd(tong) then
      writeln('khong chia duoc!')
   else
   begin
      tong:=tong div 2;
      s:=0;
      for i:=1 to n do
      begin                      
         s:=s+a[i];
         if s=tong then
         begin
            write('diem chia: ',i);
            break;
         end;
         if s>tong then
         begin
            write('khong chia duoc!');
            break;
         end;
      end;
   end;
   readln;
end.