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.
uses crt;
var st,k,t:string;
d,dem,i:integer;
begin
clrscr;
readln(st);
d:=length(st);
k='';
dem=1;
for i:=2 to d do
begin
if st[i]=st[i-1] then inc(dem);
if st[i]<>st[i-1] then
btegin
str(dem,t);
if dem>1 then k:=k+t+st[i-1];
else k:=k+st[i-1];
dem=1;
end;
if (i=d) then
begin
str(dem,t);
if dem>1 then k:=k+t+st[i];
else k:=k+st[i];
end;
end;
write(k);
readln;
end.
Lâu rồi ko lên hoc24, vừa lên thấy bài hay ngay mới hay chứ
Thuật toán:
t=1 thì ko nói rồi do dễ quá
Khi t=2 thì ta có 2 biến dem0 và dem1 để giữ số các số 0 và 1
Nếu dem1<vt cần tìm thì số đó ko thể là số 1=>writeln(0)
Ngược lại thì số đó là 1=>writeln(1)
Code:
Program kth;
uses crt;
var n,i,t,x,q,dem1,dem0:integer;
a:array[1..100000] of Byte;
f1,f2:text;
Begin
clrscr;
assign(f1,'kth.inp'); reset(f1);
assign(f2,'kth.out'); rewrite(f2);
read(f1,n,q);
for i:=1 to n do
begin
read(f1,a[i]);
dem1:=dem1+ord(a[i]=1);
dem0:=dem0+ord(a[i]=0);
end;
for i:=1 to q do
begin
read(f1,t,x);
case t of
1:begin
if a[x]=1 then
begin
dec(dem1); inc(dem0);
end
else
begin
inc(dem1); dec(dem0);
end;
a[x]:=1-a[x];
end;
2:writeln(f2,1*ord(dem1>=x)+0*ord(dem1<x));
end;
end;
Close(f1);
close(f2);
End.
*Note:ord(bool) giống như khi làm trong C++,tức:
-Khi bool=true thì ra 1
-Khi bool=false thì ra 0
uses crt;
var a:array[1..100]of integer;
i,n,min:integer;
begin
clrscr;
readln(n);
for i:=1 to n do readln(a[i]);
min:=a[1];
for i:=1 to n do
if min>a[i] then min:=a[i];
writeln(min);
readln;
end.
uses crt;
var a:array[1..200]of real;
i,n:integer;
tb:real;
begin
clrscr;
readln(n);
for i:=1 to n do readln(a[i]);
tb:=0;
for i:=1 to n do tb:=tb+a[i];
writeln(tb/n:4:2);
readln;
end.