Ae chuyên tin đâu nhỉ? Hai số được họi là số nguyên tố cùng nhau nếu ước chung lớn nhất của chúng bằng 1. Chẳng hạn 9 và 28 là các số nguyên tố cùng nhau. Yêu cầu: Cho một dãy số nguyên dương gồm n phần tử a1, a2,...,an. Viết chương trình đếm xem có tất cả bao nhiêu cặp ai và ai+1 (1<=i

2 câu trả lời

Program BTT;
Uses crt;
Var A: array[1..10000] of longint;
    n,i,d: longint;

Function UCLN(x,y: longint): boolean;
Var t: longint;
Begin
        While x<> y do
                If x>y then x:=x-y
                Else y:=y-x;
        t:=x;
        If t=1 then exit(true);
                    exit(false);
End;

Begin
        Clrscr;
        Write('Nhap n: '); Readln(n);
        For i:=1 to n do
        Begin
                Write('A[',i,'] = ');
                Readln(A[i]);
        End;

        d:=0;

        For i:=1 to n-1 do
                If UCLN(A[i],A[i+1]) then inc(d);
        Write('Co ',d,' cap so');
        Readln;
End.

uses crt;

var n,i:LongInt;

      ar:array[1..2000000000] of integer;

     f,g:text;

procedure docfile;

 begin

  assign(f,'nhap.inp');reset(f);

  readln(f,n);

  for i:=1 to n do read(f,ar[i]);

  close(f);

  assign(g,'xuat.out');rewrite(g);

 end;

function ucln(a:integer;b:integer):integer;

 begin

   while a<>b do if a>b then a:=a-b else b:=b-a;

   ucln:=a;

 end;

procedure kt;

  var a,b,d:integer;

begin

  d:=0;

  for i:=1 to n-1 do

    begin

      a:=ar[i];

      b:=ar[i+1];

      if ucln(a,b)=1 then

       begin

        writeln(g,a,' ',b);

         inc(d);

       end;

    end;

 if d=0 then write(g,'ko co cap nao');

 end;

begin

 docfile;

kt;

close(g);

end.

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