Viết chương trình nhập mảng số nguyên gồm n phần tử. Hãy tìm các số M sao cho mỗi phần tử khi chia cho M nhận được cùng số dư Vd: Input 2 14 17 Output 1 3 Giải thích: 14/1 và 17/1 có số dư là 0; 14/3 có số dư là 2, 17/3 có số dư là 2.
2 câu trả lời
uses crt;
var f:text; i,j,m,kt:longint; n:array[1..1000000]of longint;
begin
clrscr;
assign(f,'input.pas');reset(f);
readln(f,m);
for i:=1 to m do readln(f,n[i]);
close(f);
assign(f,'output.pas');rewrite(f);
for i:=1 to n[1] do
begin
kt:=0;
for j:=1 to m do if n[j] mod i<>n[1] mod i then kt:=1;
if kt=0 then write(f,i,' ');
end;
close(f);
end.
program cungsodu;
uses crt;
var A:array[1..100] of integer;
n,i,j,min,m:integer;
kt:boolean;
begin
clrscr;
write('Nhap so luong phan tu n: '); readln(n);
for i:=1 to n do
begin
write('Phan tu thu ',i,': '); readln(A[i]);
end;
min:=A[1];
for i:=2 to n do
if A[i]<min then min:=A[i];
for i:=1 to min do
begin
m:=A[1] mod i; kt:=true;
for j:=2 to n do
if A[j] mod i<>m then kt:=false;
if kt=true then write(i,' ');
end;
readln;
end.