# data[].attributes.body
Bài 1: Cho số nguyên dương gồm bốn chữ số abcd (1000 số <9999) tìm các số có bốn chữ số thỏa mãn abcd=(ab+cd)² ghi vào file SOHOC.OUT mỗi dòng 1 số. Ví dụ 3025=(30+25)²

B1: i=1000-> 9999

B2: cd=abcd mod 100 và ab=abcd div 100

B3: k=(ab+cd) nếu k*k=i thì xuất i

# data[].attributes.body
Bài 1:số học
program b1;
uses crt;
var i,ab,cd,k:longint;f:text;
begin
assign('f,'hocso.out');rewrite(f);
for i:=1000 to 9999 do
begin
cd:=i mod 100;
ab:=i div 100;
if(k*k=i) then writeln(f,i);
end;
close(g);
readln
end.
kết quả
2025
3025
9801

# data[].attributes.body
Bài 1 :
uses crt;
var ab,cd,i,k:longint;
begin
clrscr;
write('ab='); readln(ab);
for i:=1000 to 9999 do
begin
cd:=i mod 100;
ab:=i div 100;
if (k*k=i) then
writeln(i);
end;
readln end.

# data[].attributes.body
FOR I:=1000 TO 9999 DO
BEGIN
CD:=
AB:=
K:=
NẾU KxK=i thì xuất i
END;

# data[].attributes.body
BÀI 1(SỐ HỌC);
program sohoc;
uses crt;
var g:text;
procedure ghi_file;
var i,k,cd,ab:longint;
begin
assign(g,'sohoc.out');
rewrite(g);
k:=0;
for i:=1000to 9999 do
begin
cd:=i mod 100;
ab:=i div 100;
k:=ab+cd;
if(k*k=i)then writeln(g,i);
end;
close(g);
end;
begin
clrscr;
ghi_file;
write('moi ban vao file sohoc.out de xem kq');
readln;
end.

kq:
2025
3025
9801

BÀI 2(DÃY SỐ)
program bai1;
Uses crt;
Var d,g:text;n,i:longint;a:array[1..100]of longint;
procedure doc_file;
var i:longint;
begin
assign(d,'random.inp');
rewrite(d);
for i:=1 to n do write(d,a[i],' ');
close(d);
end;
procedure ghi_file;
var tam,i,j,dem:longint;
begin
assign(g,'random.out');
rewrite(g);
for i:=1 to n do
for j:=i to n do
if(a[i]>a[j])then
begin
tam:=a[i];a[i]:=a[j];a[j]:=tam;
end;
for i:=1 to n do
write(g,a[i],' ');
Writeln(g);
for i:=0 to 9 do
begin
dem:=0;
for j:=1 to n do if(a[j]=i)then inc(dem);
writeln(g,i,' : ',dem);
end;
close(g);
end;
begin
clrscr;
randomize;
write('n=');readln(n);
while(n>100)or(n<1)do
begin
clrscr;
write('ban da nhap sai dieu kien');
write('nhap lai n:');readln(n);
end;
for i:=1 to n do a[i]:=random(10);
doc_file;
ghi_file;
Writeln('Moi ban vao file RANDOM.INP va file RANDOM.OUT de xem ket qua');
readln
end.

KQ:
INPUT:
6 8 4 8 7 8 0 4 7 2 8
OUTPUT:
0 2 4 4 6 7 7 8 8 8 8
0 : 1
1 : 0
2 : 1
3 : 0
4 : 2
5 : 0
6 : 1
7 : 2
8 : 4
9 : 0

# data[].attributes.body
Bài 1: SỐ HỌC
Program bai1sohoc;
Uses crt;
Var g:text;i,ab,cd,k,abcd:longint;
Begin
clrscr;
Assign(g,'SOHOC.OUT');rewrite(g);
for i:=1000 to 9999 do
begin
cd:=i mod 100;
ab:=i div 100;
k:=ab+cd;
if(k*k=i)then writeln(g,i);
end;
Writeln('Moi ban vao file SOHOC.OUT de xem ket qua');
close(g);
readln
end.

Kết Quả:
2025
3025
9801
Bài 2: DÃY SỐ
Program d4b2dayso;
Uses crt;
Var d,g:text;i,n,j,dem,tam:longint;a:array[1..1000]of longint;
Begin
clrscr;
Assign(d,'RANDOM.INP');rewrite(d);
Assign(g,'RANDOM.OUT');rewrite(g);
write('n=');readln(n);
for i:=1 to n do
a[i]:=random(10);
for i:=1 to n do
Write(d,a[i],' ');
for i:=1 to n do
for j:=i to n do
if(a[i]>a[j])then
begin
tam:=a[i];
a[i]:=a[j];
a[j]:=tam;
end;
for i:=1 to n do
write(g,a[i],' ');
Writeln(g);
for i:=0 to 9 do
begin
dem:=0;
for j:=1 to n do
if(a[j]=i)then inc(dem);
write(g,i,'-');Writeln(g,dem);
end;
Writeln('Moi ban vao file RANDOM.INP va file RANDOM.OUT de xem ket qua');
close(d);
close(g);
readln
end.

Kết Quả:
*****Màn hình*****
n=11
Moi ban vao file RANDOM.INP va file RANDOM.OUT de xem ket qua
*****RANDOM.INP*****
5 5 7 8 6 8 5 8 4 6 6
*****RANDOM.OUT*****
4 5 5 5 6 6 6 7 8 8 8
0-0
1-0
2-0
3-0
4-1
5-3
6-3
7-1
8-3
9-0

# data[].attributes.body
-         Tạo dãy số ngẫu nhiên từ 0-9 gồm n phần tử(0<n<100) kết quả ghi ra tệp RANDOM.INP phải sử dụng randomize;

-         Sau đó sắp xếp theo chiều tăng dần đồng thời cho biết số lần xuất hiện của các phần tử kết quả xuất ra file RANDOM.OUT gồm 11 dòng(dòng 1 dãy tăng, các dòng còn lại ghi số lần xuất hiện của các số 0-9)

HƯỚNG DẪN

B1: Tạo cấu trúc

B2: Nhập n(0<n<100)

B3: tạo mảng ngẫu nhiên n phần tử

B3.1: i=1-n

B3.2:a[i]=random(10)

B4: Ghi mảng a vào RANDOM.INP

B5: Sắp xếp

B5.1: i=1-n

B5.2: j=i-n

B5.3: nếu a[i]>a[j] then {đổi chỗ}

B6: i=0-9

B6.1:  dem=0 j=1-n

B6.2:nếu i=a[j] then inc(dem)

B6.3: xuất i,dem

# data[].attributes.body
Bài 2:Dãy số
program b2;
uses crt;
var g:text;
a:array[1..100]of longint;
n,i,dem,tam,j:longint;
begin
assign(g,'dayso.out');rewrite(g);
randomize;
for i:= 1 to n do a[i]:=random(10);
for i:=1 to n do
for j:=i to n do if (a[i]>a[j]) then
begin
tam:=a[i];a[i]:=a[j];a[j]:=tam;
end;
for i:=1 to n do write(g,a[i]:1);
for i:=1 to n do
begin
dem:=0;
for j:=0 to 9 do if a[j]=i then inc(dem);
writeln(g,i);
end;
writeln(g,dem);
close(g);
readln;
end.

# data[].attributes.body
Bai1:Số học
Programbai1;
uses crt;
var i,ab,cd,k:longint;f,g:text;
begin
assign(f,'SOHOC.OUT');
rewrite(f);
for i:=1000 to 9999 do
begin
ab:=i div 100;
cd:=i div 100;
if (k*k=i) then writeln(f,i);
end;
close(g);
readln;
end.
Bai2:dãy số
program bai2;
uses crt;
var a:array[1..100]of longint;
i,n,dem,j:longint;f:text;
begin
for i:=1 to n do
a[i]:=random(10);
end;
begin
asaign (f,'RANDOM.INP');rewrite(f);
for i:=1 to n do
for j:=1 to n do;
if a[i]=a[j] then ('');
for i:=0 to 9 do
dem:=0;
for j:=1 to n do
if i=a[j] then inc(dem);
writeln(i,dem);
end;
close(g);
readln;
end.

# data[].attributes.body
Bài 2:
uses crt;
var g:text;
a:array[1..1000]of longint;
n,i,dem,tam,j:longint;
begin
clrscr;
assign(g,'dayso.out'); rewrite(g);
randomize;
for i:=1 to n do
a[i]:=random(10);
for j:=1 to n do
if (a[i]>a[j]) then
begin
tam:=a[i];
a[i]:=a[j];
a[j]:=tam;
end;
for i:=1 to n do write(g,a[i],' ');

for i:=1 to n do
begin
dem:=0;
for j:=0 to 9 do
if a[j]=i then
inc(dem);
writeln(g,i);
end;
writeln(g,dem);
close(g);
writeln('Go Enter va nhap Random de xem kq')
readln    end.

# data[].attributes.body
Program b1;
Uses CRT;
Var f:text ;n,i,j,k,cd,ab,abcd:longint;
Begin
Assign(f,'SOHOC.OUT');Rewrite(f);
For i:=1000 to 9999 do
k:=0;
Begin
CD:=i mod 100;
AB:=i mod 100;
K:=(ab+cd);
If k*k=i then writeln(f,i);
End;
Writeln('moi ban go enter de xem ket qua');
Close(f);
Readln;
End.

# data[].attributes.body
Bài 1: SỐ HỌC;
uses crt;
var ab,cd,i,k:longint;
begin
clrscr;
write('ab=');readln(ab);
for i:=1000 to 9999 do
begin
cd:=i mod 100;
ab:=i div 100;
k:=ab+cd;
if k*k=i then writeln(i);
end;
readln;
end.

kết quả:
2025
3025
9801

Bài 3: TƯƠNG ĐƯƠNG
uses crt;
var a,b:array[0..100] of integer;
n,m,i,j,k,kt:integer;
begin
clrscr;
write('n=');readln(n);
write('m=');readln(m);
i:=2;
j:=0;
while n>1 do
begin
if n mod i=0 then
begin
if a[j]<>j then
begin
inc(j);
a[j]:=i;
end; n:=n div i;
end else
inc(i);
end;
i:=2;
k:=0;
while m>1 do
begin
if m mod i=0 then
begin
if b[k]<>i then
begin
inc(k);
b[k]:=i; end;
m:=m div i;  end
else inc(i);
end;
kt:=0;
if k<>j then kt:=0
else
begin
k:=1;
for i:=1 to k do
if a[i]<>b[i] then kt:=0;
end;
write(kt);
readln;
end.

Kết quả:
n= 12
m=60
0

# data[].attributes.body
Bài 3: Tương đương

Theo Bách khoa toàn thư hai số gọi là nguyên tố tương đương nếu chúng có cùng các ước số nguyên tố

Ví dụ: 15 và 75

Vì 15 có các ước: 3 và 5

Và 75 cũng có các ước 3 và 5

Kết luận 15 và 75 là hai số nguyên tố tương đương

12 và 18 đúng nhưng 12 và 60 không vì 60 có thêm ước nt 5

# data[].attributes.body
Cho 5 số nguyên a,b,c,d,e(0<=a,b,c,d,e<=10000). Biết rằng các số nguyên dương đôi một khác nhau
Yêu cầu: Hãy tìm số nguyên dương chẵn lớn nhẩt trong năm số a,b,c,d,e
Dữ liệu:  Nhập từ bàn phím 5 số nguyên dương a,b,c,d,e
Kết quả: Xuất ra màn hình số nguyên dương chẵn lớn nhất. Nếu không tìm được số nguyên dương thỏa mãn đề bài thì xuất ra màn hình "Khong tim duoc". Nếu dữ liệu không thỏa mãn đề bài là "Khong thoa man".

# data[].attributes.body
Bài 1:
program b1;
uses crt;
var i,ab,cd,k:longint;f:text;
begin
assign('f,'hocso.out');rewrite(f);
for i:=1000 to 9999 do
begin
cd:=i mod 100;
ab:=i div 100;
if(k*k=i) then writeln(f,i);
end;
close(g);
readln
end.
kết quả
2025
3025
9801

# data[].attributes.body
Bài 2:
uses crt;
var g:text;
a:array[1..1000]of longint;
n,i,dem,tam,j:longint;
begin
clrscr;
assign(g,'dayso.out'); rewrite(g);
randomize;
for i:=1 to n do
a[i]:=random(10);
for j:=1 to n do
if (a[i]>a[j]) then
begin
tam:=a[i];
a[i]:=a[j];
a[j]:=tam;
end;
for i:=1 to n do write(g,a[i],' ');

for i:=1 to n do
begin
dem:=0;
for j:=0 to 9 do
if a[j]=i then
inc(dem);
writeln(g,i);
end;
writeln(g,dem);
close(g);
writeln('Go Enter va nhap Random de xem ket qua');
Readln
End.