Hãy nhập câu hỏi của bạn vào đây, nếu là tài khoản VIP, bạn sẽ được ưu tiên trả lời.
Lĩnh vực của em thuộc bên môn Hoá, với lại e chưa học tới lớp 11 đâu :) Anh/Chị nhờ cô Nguyễn Minh Lệ nha
uses crt;
const finp='Bai1.inp';
fout='Bai1.out';
type mangc=array[1..10000] of char;
mangl=array[1..10000] of longint;
var f:text;
ch:mangc; a:mangl;
n:longint;
procedure doc;
var i:longint;
begin
assign(f,finp);
reset(f);
readln(f,n);
for i:=1 to n do read(f,ch[i]);
close(f);
end;
procedure ghi;
begin
assign(f,fout);
rewrite(f);
end;
procedure tim;
var i,j,d,k,l:longint;
begin
for i:=n-2 downto 1 do
begin
a[i]:=1;
d:=0;
for j:=i+1 to n do
begin
l:=a[j];
if ch[i]=ch[j] then a[j]:=d+2
else if a[j-1]>a[j] then a[j]:=a[j-1];
d:=l;
end;
end;
end;
procedure xuly;
var i:longint;
begin
fillchar(a,sizeof(a),0);
if n=1 then a[n]:=1
else begin
a[n-1]:=1;
a[n]:=ord(ch[n]=ch[n-1])+1;
end;
if n>2 then tim;
write(f,n-a[n]);
end;
begin
doc;
ghi;
xuly;
close(f);
end.
ai có thể giải thích cho mình bài này đc không
nhất là cái "procedure tim" và mục đích của mảng số nguyên a
mk cảm ơn nhiều
var n,m,i,j,p,q,k,tam:byte;
a:array[1..100,1..100] of integer;
b:array[1..10000] of integer;
f:text;
function tong(x,y:integer):integer;
var i,j:integer;
begin
tong:=0;
for i:=x to x+p-1 do
for j:=y to y+q-1 do
tong:=tong+a[i,j];
exit(tong);
end;
begin
assign(f,'HCN.inp');reset(f);
readln(f,n,m,p,q);
for i:=1 to n do
begin
for j:=1 to m do read(f,a[i,j]);
readln(f);
end;
close(f);
assign(f,'HCN.out');rewrite(f);
k:=0;
for i:=1 to n-q+1 do
begin
for j:=1 to m-p+1 do
begin
inc(k);
b[k]:=tong(i,j);
end;
end;
for i:=1 to k-1 do
for j:=k downto i+1 do
if b[j]>b[j-1] then
begin
tam:=b[j];
b[j]:=b[j-1];
b[j-1]:=tam;
end;
writeln(f,b[1]+b[2]);
close(f);
readln;
end.
Bài 1:
program pstg;
uses crt;
var a,b,i,u : integer;
f : text;
BEGIN
clrscr;
assign(f,'PSTG.INP');
reset(f);
read(f, a);
read(f, b);
u:=1;
for i:= 1 to a do if ((a mod i)=0) and ((b mod i)=0) and (i>u) then u:=i;
a:= a div u;
b:= b div u;
assign(f,'PSTG.OUT');
rewrite(f);
write(f, a,' ',b);
close(f);
END.
bài 4 dễ ẹt à
uses crt;
const fi='quediem.inp';
fo='quediem.out';
var i,m,n,d,x,j,csc:longint;
a,b:array[1..1000]of integer;
f1,f2:text;
begin
clrscr;
assign(f1,fi); reset(f1);
assign(f2,fo); rewrite(f2);
readln(f1,n);
{-------------------------tim-so-lon-nhat--------------------------}
write(f2,'so lon nhat la: ');
m:=n;
if m mod 2=0 then
begin
for i:=1 to n div 2 do
write(f2,'1');
end
else begin
write(f2,'7');
for i:=2 to n div 2 do
write(f2,'1');
end;
{----------------------------tim-so-nho-nhat------------------------}
writeln(f2);
a[1]:=2; b[1]:=1;
a[2]:=5; b[2]:=2;
a[3]:=4; b[3]:=4;
a[4]:=6; b[4]:=6;
a[5]:=3; b[5]:=7;
a[6]:=7; b[6]:=8;
d:=(n div 7)+1;
if n mod 7=0 then d:=d-1;
if d=1 then begin
case n of
2:write(f2,'so nho nhat la: ',1);
3:write(f2,'so nho nhat la: ',7);
4:write(f2,'so nho nhat la: ',4);
5:write(f2,'so nho nhat la: ',2);
6:write(f2,'so nho nhat la: ',0);
7:write(f2,'so nho nhat la: ',8);
end;
end;
if d>1 then
begin
write(f2,'so nho nhat la: ');
for i:=1 to d do
if i=1 then begin
b[4]:=6;
for j:=1 to 6 do
begin
x:=n;
x:=x-a[j];
csc:=x div 7+1;
if x mod 7=0 then csc:=csc-1;
if csc=d-i then begin
write(f2,b[j]);
n:=x;
break;
end;
end;
end
else begin
a[1]:=6; b[1]:=0;
a[2]:=2; b[2]:=1;
a[3]:=5; b[3]:=2;
a[4]:=4; b[4]:=4;
a[5]:=3; b[5]:=7;
a[6]:=7; b[6]:=8;
for j:=1 to 6 do
begin
x:=n;
x:=x-a[j];
csc:=(x div 7)+1;
if x mod 7=0 then csc:=csc-1;
if csc=d-i then begin
write(f2,b[j]);
n:=x;
break;
end;
end;
end;
end;
close(f1);
close(f2);
readln;
end.
program tim_nguon_nho_nhat;
const
MAX_NUMBER = 10000;
var
M, nguon_nho_nhat: Integer;
function TinhTongChuSo(num: Integer): Integer;
var
sumOfDigits: Integer;
begin
sumOfDigits := 0;
while num > 0 do
begin
sumOfDigits := sumOfDigits + (num mod 10);
num := num div 10;
end;
TinhTongChuSo := sumOfDigits;
end;
function TimNguonNhoNhat(M: Integer): Integer;
var
N, M_temp, M_digits, nguon_nho_nhat: Integer;
begin
M_temp := M;
nguon_nho_nhat := MAX_NUMBER;
for N := 1 to M_temp do
begin
M_digits := TinhTongChuSo(N) + N;
if M_digits = M_temp then
begin
if N < nguon_nho_nhat then
nguon_nho_nhat := N;
end;
end;
if nguon_nho_nhat = MAX_NUMBER then
TimNguonNhoNhat := 0
else
TimNguonNhoNhat := nguon_nho_nhat;
end;
begin
Readln(M);
nguon_nho_nhat := TimNguonNhoNhat(M);
if nguon_nho_nhat = 0 then
Writeln('0')
else
Writeln('Nguon nho nhat cua ', M, ' la ', nguon_nho_nhat);
end.