C
var n,i,d:integer;
function ktnt(a:integer):boolean;
var i:integer;
kt:boolean;
begin
kt:=true;
if a<2 then kt:=false
else
for i:=2 to (a div 2) do
if a mod i=0 then
begin
kt:=false;
break;
end;
ktnt:=kt;
end;
begin
write('n=');readln(n);
d:=0;
for i:=2 to n div 2 do
if (n mod i=0) and (ktnt(i)=true) then
begin
write(i,' ');
inc(d);
end;
if d=0 then write('KHONG CO');
readln;
end.
var i,d,m,n,j:integer;
a:array[1..100,1..100]of integer;
max:array[1..100]of integer;
min:array[1..100]of integer;
begin
write('nhap m='); readln(m);
write('nhap n='); readln(n);
for i:=1 to m do
begin
for j:=1 to n do
begin
write('a[',i,',',j,']=');
read(a[i,j]);
end;
readln;
end;
for i:=1 to m do
begin
max[i]:=-maxint;
for j:=1 to n do
if a[i,j]>max[i] then max[i]:=a[i,j];
end;
for j:=1 to n do
begin
min[j]:=maxint;
for i:=1 to m do
if a[i,j]<min[j] then min[j]:=a[i,j];
end;
d:=0;
for i:=1 to m do
for j:=1 to n do
if min[j]=max[i] then d:=d+1;
if d=0 then writeln('ko co phan tu yen ngua')
else writeln('cac phan tu yen ngua la:');
for i:=1 to m do
begin
d:=0;
for j:=1 to n do
begin
if min[j]=max[i] then d:=d+1;
if d<>0 then
begin
write('a[',i,',',j,']');
d:=0;
end;
end;
end;
readln;
end.
Không cần đâu )
Bài 30/2000 - Phần tử yên ngựa
(Dành cho học sinh THCS)
Cho bảng A kích thước MxN. Phần tử Aij được gọi là phần tử yên ngựa nếu nó là phần tử nhỏ nhất trong hàng của nó đồng thời là phần tử lớn nhất trong cột của nó. Ví dụ trong bảng số sau đây:
15 3 9
55 4 6
76 1 2
thì phần tử A22 chính là phần tử yên ngựa.
Bạn hãy lập chương trình nhập từ bàn phím một bảng số kích thước MxN và kiểm tra xem nó có phần tử yên ngựa hay không?
uses crt;
var a:array[1..100,1..100] of integer;
i,j,n,d:integer;
function maxcot(k,j:integer):boolean;
var i:integer;
begin
maxcot:=true;
for i:=1 to n do
if k<a[i,j] then maxcot:=false;
end;
function minhang(k,i:integer):boolean;
var j:integer;
begin
minhang:=true;
for j:=1 to n do
if k>a[i,j] then minhang:=false;
end;
begin
clrscr;
readln(n);
for i:=1 to n do
begin
for j:=1 to n do
read(a[i,j]);
readln;
end;
d:=0;
for i:=1 to n do
for j:=1 to n do
if (minhang(a[i,j],i)=true) and (maxcot(a[i,j],j)=true) then
begin
writeln('a[',i,',',j,']');
inc(d);
end;
if d=0 then writeln('khong co phan tu yen ngua');
readln;
end.
OK rồi chứ. Đề ra tiếp nè. Viết chương trình nhập vào 2 đa thức cùng biến. Cộng 2 đa thức đó lại rồi in kết quả ra màn hình.
var i,m,n:integer;
a,b,s:array[1..100]of integer;
begin
write('bac da thuc 1:');readln(m);
write('bac da thuc 2:');readln(n);
for i:=m downto 0 do
begin
write('a[',i,']*x^',i,',a[',i,']=');
readln(a[i]);
end;
for i:=n downto 0 do
begin
write('b[',i,']*x^',i,',b[',i,']=');
readln(b[i]);
end;
if m<n then
begin
for i:=m+1 to n do a[i]:=0;
m:=n;
end;
if m>n then
begin
for i:=n+1 to m do b[i]:=0;
n:=m;
end;
writeln('Tong la:');
for i:=m downto 0 do
begin
s[i]:=a[i]+b[i];
if i<>0 then write(s[i],'*x^',i,' + ');
if i=0 then write(s[i]);
end;
readln;
end.
begin
writeln('1':10);
writeln('232':11);
writeln('34543':12);
writeln('4567654':13);
writeln('567898765':14);
writeln('67890109876':15);
writeln('7890123210987':16);
writeln('890123454321098':17);
writeln('90123456765432109':18);
writeln('0123456789876543210':19);
readln;
end.
uses crt;
var a,b,cant,canf : array [0..101] of integer;
c : array [1..100] of boolean;
dem : integer;
n,m,s : integer;
fi : text;
procedure tri (j : integer);
var t,l : integer;
begin
for t:= b[j-1]+1 to n do
If c[t] then
begin
b[j] := t;
canf[j] := canf[j-1]+t;
c[t] := false;
If cant[s] = canf[j] then inc (dem);
If cant[s] >= canf[j] then tri (j+1);
c[t] := true;
end;
end;
procedure timso(so : integer);
var t,i,l : integer; sum : longint;
begin
For i:= a[so-1]+1 to n do
If c[i] then
begin
a[so] := i;
canT[so] := cant[so-1] + i;
c[i] := false;
sum := 0;
for t:= 1 to n do
If c[t] then sum := sum + t;
If sum >= canT[so] then
begin
s := so;
tri (1);
timso (so+1);
end;
c[i] := true;
end;
End;
begin
clrscr;
write ('N = '); readln (n);
write ('M = '); readln (m);
fillchar (c,sizeof (c),true);
fillchar (a,sizeof (a),0);
fillchar (b,sizeof (b),0);
fillchar (cant,sizeof (cant),0);
fillchar (canf,sizeof (canf),0);
cant[1] := m;
s := 1;
dem := 0;
tri (1);
cant[0] := m;
timso (1);
writeln (dem);
readln;
end.
const inp='cuong.inp';
outp='cuong.out';
var i,k,j,n:integer;
fi,fo:text;
tg,dem:integer;
a,b,c:array[1..200] of integer;
procedure nhap;
begin
assign(fi,inp);
reset(fi);
read(fi,n );
for i:=1 to n do
begin
read(fi,a[i]);
c[i]:=a[i];
end;
j:=i;
for i:=1 to n do
begin
read(fi,b[i]);
c[i+j]:=b[i] ;
end;
close(fi);
assign(fo,outp);
rewrite(fo);
end;
function kiemtra(x:integer):boolean;
var
kt1,kt2,kt3,kt4:boolean;
begin
kt1:=false;
kt2:=false;
kt3:=false;
kt4:=false;
for i:=1 to n do
begin
if c[x]=b[i] then kt1:=true else kt3:=true;
if c[x+1]=a[i] then kt2:=true else kt4:=true;
end;
if (kt1 and kt2) or (kt3 and kt4) then
kiemtra:=true;
end;
procedure sapsep;
begin
for i:=1 to 2*n do
for j:=1 to i do
if c[i]> c[j] then
begin
tg:=c[i];
c[i]:=c[j];
c[j]:=tg;
end;
end;
procedure xuli;
begin
sapsep;
while k< 2*n-1 do
if kiemtra(k) then
begin
inc(dem);
inc(k,2);
end else
inc(k);
write(fo,dem);
close(fo);
end;
begin
nhap;
xuli;
end.