Viết chương trình nhập vào mảng gồm có n phần tử và một số nguyên k. Hãy in ra vị trí bắt đầu và số phần tử của đoạn con có trung bình cộng bằng k

2 câu trả lời

uses crt;
var n,k,s,j,i:longint;
    ok:boolean;
    a:array[0..100000]of longint;
begin
        clrscr;
        read(n,k);
        for i:=1 to n do
                read(a[i]);
        for i:=1 to n do
                begin
                        s:=0; ok:=false;
                        for j:=i to n do
                            begin
                                s:=s+a[j];
                                if (s div (j-i+1)=k) and (s mod (j-i+1)=0) then
                                        begin
                                                ok:=true;
                                                break;
                                        end;
                            end;
                        if ok=true then break;
                end;
        writeln;
        if ok=true then write(i)
        else write('ko co day con tb=k');
        readln; readln;
end.

uses crt;
var i,n,d,s,j,c,k:longint; a:array[1..10000000]of longint;
begin 
clrscr;
   write('Nhap n,k: ');readln(n,k);
   d:=n+1;
   for i:=1 to n do 
      begin
         write('Nhap phan tu thu ',i,': ');readln(a[i]);  
         s:=0;
         for j:=i downto 1 do 
            begin 
               s:=s+a[j]; 
               if (j<d)and(s/(i-j+1)=k) then begin d:=j; c:=i-j+1; end;
            end;
      end;
   if d=n+1 then writeln('Khong co') else
   writeln(d,' ',c);
readln
end.

Câu hỏi trong lớp Xem thêm