Nguyễn Lê Phước Thịnh

ĐÁP ÁN VÒNG 2 CUỘC THI TIN HỌC LẦN 3:

Câu 1(2 điểm)

uses crt;

var a:array[1..100000]of int64;

i,n,x,dem:int64;

begin

clrscr;

readln(n,x);

for i:=1 to n do

read(a[i]);

dem:=0;

for i:=1 to n do

if x=a[i] then inc(dem);

writeln(dem);

readln;

end.

Câu 2(2 điểm)

uses crt;

var n,k,i,dem:int64;

a:array[1..1000000]of int64;

{-----------------chuong-trinh-con-quick-sort------------------------}

procedure qs(d,c:int64);

var i,j,x,tam:int64;

begin

i:=d;

j:=c;

x:=a[(i+j) div 2];

repeat

while a[i]<x do

inc(i);

while a[j]>x do

dec(j);

if i<=j then

begin

tam:=a[i];

a[i]:=a[j];

a[j]:=tam;

inc(i);

dec(j);

end;

until i>j;

if d<j then qs(d,j);

if i<c then qs(i,c);

end;

{---------------chuong-trinh-chinh------------------}

begin

clrscr;

readln(n);

for i:=1 to n do

read(a[i]);

qs(1,n);

k:=a[n];

dem:=0;

for i:=1 to n do

if k=a[i] then inc(dem);

writeln(dem);

readln;

end.

Câu 3(2 điểm) Bài làm của bạn Hưng Nguyễn Thái

var a,b,c:int64;

begin

read(a,b,c);

if (a+b <= c) and ((c-a-b) mod 2 = 0) then write('Yes')

else write('No');

end.

Câu 4(6 điểm) Bài làm của bạn Quý Lương

#include<bits/stdc++.h>
#define ll long long
using namespace std;
int main()
{
    ios_base::sync_with_stdio(false); cout.tie(NULL);
    ll n, k;
    cin>>n>>k;
    ll d=__gcd(n, k);
    n/=d; k/=d;
    cout << n/k << '.';
    n=n%k*10;
    ll s=0, t=k;
    for (s; t%2==0 or t%5==0; s++) {
        if (t%2==0) t/=2;
        if (t%5==0) t/=5;
    }
    for (s; s>0; s--) {
        cout << n/k;
        n=(n%k) * 10;
    }
    if (t==1) cout << "(0)";
    else {
        ll r =10%t;
        for (s=1; r!=1; s++) r=r*10 % t;
        cout << '(';
        for (s; s>0; s--) {
            cout << n/k;
            n=(n%k)*10;
        }
        cout << ')';
    }
}

Câu 5(8 điểm) Bài làm của bạn Trần Nguyễn Đăng Dương

#include <bits/stdc++.h>
using namespace std;
int n;
long long a[100001];
long long f[100001];
void ans(long long x)
{
    int dem=1;
    for (long long i=2;i*i<=x;i++)
        if (x%i==0)
        {
            f[dem]=i;
            if (i!=sqrt(x))
            {
                f[dem+1]=x/i; dem+=2;
            }
            else dem++;
        }
    f[dem]=x;
    sort(f+1,f+dem);
    for (int i=1;i<=dem;i++) cout<<f[i]<<endl;
}
int main()
{
    ios_base::sync_with_stdio(false);
    cin.tie(nullptr); cout.tie(nullptr);
    cin>>n;
    for (int i=1;i<=n;i++) cin>>a[i];
    long long gcd=abs(a[2]-a[1]);
    for (int i=3;i<=n;i++)
        gcd=__gcd(gcd,abs(a[i]-a[i-1]));
    ans(gcd);
}


Những câu hỏi liên quan

ĐÁP ÁN VÒNG 1 CUỘC THI TIN HỌC LẦN 3

Câu 1(2 điểm)

uses crt;

var n,dv,ch:integer;

begin

clrscr;

readln(n);

if (0<=n) and (n<=19) then

begin

case n of

0: write('zero');

1: write('one');

2: write('two');

3: write('three');

4: write('four');

5: write('five');

6: write('six');

7: write('seven');

8: write('eight');

9: write('nine');

10: write('ten');

11: write('eleven');

12: write('twelve');

13: write('thirteen');

14: write('fourteen');

15: write('fifteen');

16: write('sixteen');

17: write('seventeen');

18: write('eighteen');

19: write('nineteen');

end;

end

else

begin

dv:=n mod 10;

ch:=n div 10;

case ch of 2:

write('twenty');

3: write('thirty');

4: write('forty');

5: write('fifty');

6: write('sixty');

7: write('seventy');

8: write('eighty');

9: write('ninety');

end;

if dv>0 then

begin

write('-');

case dv of 1:

write('one');

2: write('two');

3: write('three');

4: write('four');

5: write('five');

6: write('six');

7: write('seven');

8: write('eight');

9: write('nine');

end;

end;

end;

end.

Câu 2(2 điểm)

uses crt;

var a,b,t,bcnn:int64;

begin

readln(a,b);

bcnn:=a*b;

t:=b mod a;

while t<>0 do

begin

t:=a mod b;

a:=b;

b:=t;

end;

bcnn:=bcnn div a;

writeln(a,' ',bcnn);

readln;

end.

Câu 3(4 điểm)

uses crt;

var q,i:longint;

n:array[1..10] of longint;

begin

clrscr;

readln(q);

for i:=1 to q do

readln(n[i]);

for i:=1 to q do

begin

if (n[i] mod 4=0) and (n[i] mod 100<>0) then writeln('YES')

else if n[i] mod 400=0 then writeln('YES')

else writeln('NO');

end;

end.

Câu 4(2 điểm)

uses crt;

var n,p,x,dem:int64;

{----------------------chuong-trinh-con-tim-ucln---------------------}

function ucln(a,b:int64):int64;

var t:int64;

begin

t:=b mod a;

while t<>0 do

begin

t:=a mod b;

a:=b;

b:=t;

end;

ucln:=a;

end;

{---------------------chuong-trinh-chinh---------------------}

begin

readln(n,p);

dem:=0;

for x:=1 to n do

if ucln(x,n)=p then inc(dem);

writeln(dem);

end.

Câu 5(10 điểm) Bài làm của bạn @Hưng Nguyễn Thái

#include<bits/stdc++.h>

using namespace std;

#define ll long long #define mod (ll)(1e7+7)

const ll N = 1000000;

ll lp[N+1];

vector<ll > pr;

void solve()

{ for (ll i=2; i<=N; ++i)

{ if (lp[i] == 0)

{ lp[i] = i; pr.push_back (i);

}

for (ll j=0; j<(ll )pr.size() && pr[j]<=lp[i] && i*pr[j]<=N; ++j)

lp[i * pr[j]] = pr[j];

}

}

ll po(ll a,ll n)

{ ll res=a, ans=1; while(n)

{ if(n%2) ans=ans*res%mod; res=res*res%mod; n/=2;

}

return ans;

}

ll aka(ll p, ll alpha)

{

if(alpha==0) return 1;

if(alpha==1) return (p+1);

if(alpha%2==1) return p*aka(p,alpha-1)+1;

if(alpha%2==0) return (po(p,alpha/2)+1)*(aka(p,alpha/2)-1)+1;

}

ll f(ll n)

{

ll tmp,i=0,so_mu,res=1;

while(pr[i]<=n)

{

tmp=pr[i];

so_mu=0;

while(tmp<=n)

{

so_mu = so_mu+ (n/tmp);

tmp=tmp*pr[i];

}

res=res*(so_mu+1)*(so_mu+2)/2%mod; i++;

}

return res;

}

int main(){ ll n,res; solve();

while(1)

{

cin>>n;

if(n==0) break;

res=f(n);

cout<<res<<'\n';

}

}

Nhìn dài quá

Bình luận (4)
HT2k02
15 tháng 7 lúc 6:11

dùng cả vector lận, hơi căng

 

Bình luận (0)
Ħäńᾑïě 💔😭♏
15 tháng 7 lúc 6:24

dài quá oho

Bình luận (0)

Không đúng nha bạn

Bình luận (0)
Nguyễn Lê Phước Thịnh

ĐÁP ÁN VÒNG 1 CUỘC THI TIN HỌC LẦN 2

Câu 1:

const fi='ptyn.inp';
fo='ptyn.out';
var a:array[1..100,1..100]of integer;
i,j,n,m,snn,sln,vtc,vth,x,z,kt,k,dem:integer;
f1,f2:text;
begin
assign(f1,fi); reset(f1);
assign(f2,fo); rewrite(f2);
readln(f1,n,m);
for i:=1 to n do
for j:=1 to m do
read(f1,a[i,j]);
{----------nho nhat hang----------}
dem:=0;
for i:=1 to n do
begin
snn:=a[i,1];
for j:=1 to m do
if snn>=a[i,j] then
begin
snn:=a[i,j];
vth:=i;
vtc:=j;
end;
kt:=0;
sln:=a[vth,vtc];
for k:=1 to n do
if sln<a[k,vtc] then kt:=1;
if kt=0 then
begin
writeln(f2,vth,' ',vtc);
dem:=dem+1;
end;
end;
if dem=0 then writeln(f2,'Khong co phan tu yen ngua');
close(f1);
close(f2);
end.

Câu 2: Bài làm của bạn @Tran Nguyễn Đăng Dương

Program connect;
uses crt;
const fi='connect.inp';
fo='connect.out';
type num=record
number,top:integer;
end;
var a:array[0..1000] of num;
t:num;
i,n,j:integer;
f1,f2:text;
Function timtop(a:integer):integer;
begin
if a<10 then exit(a);
exit(timtop(a div 10));
end;
Begin
clrscr;
assign(f1,fi); reset(f1);
assign(f2,fo); rewrite(f2);
read(f1,n);
for i:=1 to n do
begin
read(f1,a[i].number);
a[i].top:=timtop(a[i].number);
end;
for i:=1 to n-1 do
for j:=i+1 to n do
begin
if a[i].top=a[j].top then
begin
if a[i].number>a[j].number then
begin
t:=a[i];
a[i]:=a[j];
a[j]:=t;
end;
end
else if a[i].top<a[j].top then
begin
t:=a[i];
a[i]:=a[j];
a[j]:=t;
end;
end;
for i:=1 to n do write(f2,a[i].number);
Close(f1);
Close(f2);
End.

Câu 3:

const fi='quediem.inp';
fo='quediem.out';
var f1,f2:text;
i,m,n,d,x,j,csc:longint;
a,b:array[1..100]of integer;
begin
assign(f1,fi); reset(f1);
assign(f2,fo); rewrite(f2);
readln(f1,n);
{---------------------------tim-so-lon-nhat----------------------------}
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----------------------------}
write(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,'1');
3: write(f2,'7');
4: write(f2,'4');
5: write(f2,'2');
6: write(f2,'0');
7: write(f2,'8');
end;
end;
if d>1 then
begin
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 dec(csc);
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);
end.

Câu 4:

const fi='tvh.inp';
fo='tvh.out';
var n,d,dem,sl,s2cs,s3cs,s4cs,s5cs,s6cs,s7cs,s8cs,k,i,d1:longint;
st,st1,stk:string;
f1,f2:text;
begin
assign(f1,fi); reset(f1);
assign(f2,fo); rewrite(f2);
readln(f1,n,k);
str(n,st);
d:=length(st);
case d of
1: write(9);
2: begin
sl:=n-9;
dem:=9+sl*2;
end;
3: begin
s2cs:=(99-10)+1;
s3cs:=n-99;
dem:=9+s2cs*2+s3cs*3;
end;
4: begin
s2cs:=(99-10)+1;
s3cs:=(999-100)+1;
s4cs:=n-999;
dem:=9+s2cs*2+s3cs*3+s4cs*4;
end;
5: begin
s2cs:=(99-10)+1;
s3cs:=(999-100)+1;
s4cs:=(9999-1000)+1;
s5cs:=n-9999;
dem:=9+s2cs*2+s3cs*3+s4cs*4+s5cs*5;
end;
6: begin
s2cs:=(99-10)+1;
s3cs:=(999-100)+1;
s4cs:=(9999-1000)+1;
s5cs:=(99999-10000)+1;
s6cs:=n-99999;
dem:=9+s2cs*2+s3cs*3+s4cs*4+s5cs*5+s6cs*6;
end;
7: begin
s2cs:=(99-10)+1;
s3cs:=(999-100)+1;
s4cs:=(9999-1000)+1;
s5cs:=(99999-10000)+1;
s6cs:=(999999-100000)+1;
s7cs:=n-999999;
dem:=9+s2cs*2+s3cs*3+s4cs*4+s5cs*5+s6cs*6+s7cs*7;
end;
8: begin
s2cs:=(99-10)+1;
s3cs:=(999-100)+1;
s4cs:=(9999-1000)+1;
s5cs:=(99999-10000)+1;
s6cs:=(999999-100000)+1;
s7cs:=(9999999-1000000)+1;
s8cs:=n-9999999;
dem:=9+s2cs*2+s3cs*3+s4cs*4+s5cs*5+s6cs*6+s7cs*7+s8cs*8;
end;
end;
if k<=dem then
begin
i:=1;
d1:=0;
repeat
str(i,st1);
d1:=d1+length(st1);
inc(i);
until d1>=k;
stk:=st1[length(st1)-(d1-k)];
writeln(f2,stk);
end;
close(f1);
close(f2);
end.

Câu 5: Bài làm của bạn @Tran Nguyễn Đăng Dương

Program robot;
uses crt;
const fi='robot.inp';
fo='robot.out';
type path=record
num,npath:integer;
end;
var a:array[0..1000,0..1000] of path;
i,j,n:integer;
b,c:array[1..2] of Integer;
st,st1:string;
f1,f2:text;
check:boolean;
min:real;
Function he2sanghe10(st1:string):real;
var d,x,tg:integer;
stt:string;
begin
he2sanghe10:=0;
d:=Length(st1);
for i:=1 to d do
begin
stt:=st1[i];
Val(stt,x,tg);
he2sanghe10:=he2sanghe10*2+x;
end;
end;
Procedure robotpath(x,y:integer; st1:string);
var k:integer;
t:string;
S:real;
begin
if (x=n) and (y=n) then
begin
S:=0;
S:=he2sanghe10(st1);
if (min>S) then
begin
min:=S;
st:=st1;
end;
end
else
for k:=1 to 2 do
begin
if (x+b[k]>=1) and (y+c[k]>=1) and (x+b[k]<=n) and (y+c[k]<=n) then
begin
str(a[x+b[k],y+c[k]].num,t);
st1:=st1+t;
a[x+b[k],y+c[k]].npath:=a[x,y].npath+1;
robotpath(x+b[k],y+c[k],st1);
Delete(st1,Length(st1),1);
if (a[x+b[k],y+c[k]].npath=0) then break;
end;
end;
end;
Begin
clrscr;
assign(f1,fi); reset(f1);
assign(f2,fo); rewrite(f2);
b[1]:=1; c[2]:=1;
min:=99999999999999999999999999999999999999;
read(f1,n);
for i:=1 to n do
for j:=1 to n do
begin
read(f1,a[i,j].num);
a[i,j].npath:=n*n;
end;
a[1,1].npath:=1;
Str(a[1,1].num,st1);
robotpath(1,1,st1);
writeln(f2,st);
Close(f1);
Close(f2);
End.

Nguyễn Lê Phước Thịnh
14 tháng 8 2020 lúc 20:00

Bài làm của bạn @lê chí hiếu(bạn được 2,1 điểm)

bài 1

program PTYN;
uses crt;
var a:array[1..100,1..100]of integer;
i,j,m,n:integer;
f1,f2:text;
Max, Min:Integer;
Kt:boolean;
Procedure XuatMang;
begin
For i:=1 to n do
begin
for j:=1 to m do
Write(a[i,j]:4);
Writeln;
end;
end;
Procedure MaxCot(l:Integer);
var p:Integer;
begin
Max:=A[1,l];
For p:=2 to n do
if A[p,l]>Max then Max:=A[p,l];
end;
Procedure MinHang(k:Integer);
var o:integer;
begin
Min:=A[k,1];
For o:=2 to n do
if A[k,o]<Min then Min:=A[k,o];
end;
begin
clrscr;
assign(f1,'ptyn.inp');
assign(f2,'ptyn.out');
reset(f1);rewrite(f2);
while not EOF(f1) do
begin
kt:=false;
readln(f1,n,m);
for i:=1 to n do
begin
for j:=1 to m do
Read(f1,a[i,j]);
readln(f1);
end;

for i:=1 to n do
begin
for j:=1 to n do
begin
MaxCot(j);
MinHang(i);
if Max=Min then
begin
Writeln(f2,'(',i,',',j,')');
kt:=true;
end;
end;
end;
If kt=false then Writeln(f2,'Khong co ptu yen ngua.');
end;
Close(f1); Close(f2);
Readln
End.

Bài 4

const fi='tvh.inp';

fo='tvh.out';

var n,d,dem,sl,s2cs,s3cs,s4cs,s5cs,s6cs,s7cs,k,i,d1:longint;

st,st1,stk:string;

f1,f2:text;

begin

assign(f1,fi); reset(f1);

assign(f2,fo); rewrite(f2);

readln(f1,n,k);

str(n,st);

d:=length(st);

case d of

1: write(9);

2: begin

sl:=n-9;

dem:=9+sl*2;

end;

3: begin

s2cs:=(99-10)+1;

s3cs:=n-99;

dem:=9+s2cs*2+s3cs*3;

end;

4: begin

s2cs:=(99-10)+1;

s3cs:=(999-100)+1;

s4cs:=n-999;

dem:=9+s2cs*2+s3cs*3+s4cs*4;

end;

5: begin

s2cs:=(99-10)+1;

s3cs:=(999-100)+1;

s4cs:=(9999-1000)+1;

s5cs:=n-9999;

dem:=9+s2cs*2+s3cs*3+s4cs*4+s5cs*5;

end;

6: begin

s2cs:=(99-10)+1;

s3cs:=(999-100)+1;

s4cs:=(9999-1000)+1;

s5cs:=(99999-10000)+1;

s6cs:=n-99999;

dem:=9+s2cs*2+s3cs*3+s4cs*4+s5cs*5+s6cs*6;

end;

7: begin

s2cs:=(99-10)+1;

s3cs:=(999-100)+1;

s4cs:=(9999-1000)+1;

s5cs:=(99999-10000)+1;

s6cs:=(999999-1000000)+1;

s7cs:=n-999999;

dem:=9+s2cs*2+s3cs*3+s4cs*4+s5cs*5+s6cs*6+s7cs*7;

end;

end;

if k<=dem then

begin

i:=1;

d1:=0;

repeat

str(i,st1);



d1:=d1+length(st1);

i:=i+1;

until d1>=k;

stk:=st1[length(st1)-(d1-k)];

writeln(f2,stk);

end;

close(f1);

close(f2);

end.

Bài 5

PROGRAM robot;

VAR A:ARRAY[0..30,0..30] OF BYTE;

F:ARRAY[0..30,0..30] OF LONGINT;

m,n:INTEGER;

PROCEDURE Enter;

VAR i,j:INTEGER;

BEGIN

readln(m,n);

FOR i:=1 TO m DO

BEGIN

FOR j:=1 TO n DO read(A[i,j]);

readln;

END;

FOR i:=0 TO m DO A[i,0]:=-1;

FOR j:=0 TO n DO A[0,j]:=-1;

END;

FUNCTION Max(a,b:LONGINT):LONGINT;

BEGINIF (a>b) THEN Max:=a ELSE Max:=b;

END;

PROCEDURE Optimize;

VAR i,j:INTEGER;

BEGIN

FOR i:=0 TO m DO F[i,0]:=-1;

FOR j:=0 TO n DO F[0,j]:=-1;

F[0,1]:=0;

FOR i:=1 TO m DO

FOR j:=1 TO n DO

F[i,j]:=2*Max(F[i,j-1],F[i-1,j])+A[i,j];

END;

PROCEDURE Trace(i,j:INTEGER);

BEGINIF (i=1) AND (j=1) THEN

writeln(F[m,n])

ELSE

BEGIN

IF F[i,j-1]>F[i-1,j] THEN

Trace(i,j-1)

ELSE

Trace(i-1,j);

writeln(i,' ',j);

END;

END;

BEGIN

Assign(Input,'Robot.inp'); Reset(Input);

Assign(Output,'Robot.out');Rewrite(Output);

Enter;

Optimize;

Trace(m,n);

close(Input);

close(Output);

END.

Bình luận (0)
Nguyễn Lê Phước Thịnh
14 tháng 8 2020 lúc 20:02

Bài làm của bạn @Luân Đào(bạn được 2,8 điểm)

program b1;

uses crt;

var a:array[1..100,1..100]of integer;

i,j,m,n:integer;

f1,f2:text;

Max, Min:Integer;

Kt:boolean;

Procedure XuatMang;

begin

For i:=1 to n do

begin

for j:=1 to m do

Write(a[i,j]:4);

Writeln;

end;

end;

Procedure MaxCot(l:Integer);

var p:Integer;

begin

Max:=A[1,l];

For p:=2 to n do

if A[p,l]>Max then Max:=A[p,l];

end;

Procedure MinHang(k:Integer);

var o:integer;

begin

Min:=A[k,1];

For o:=2 to n do

if A[k,o]<Min then Min:=A[k,o];

end;

begin

clrscr;

assign(f1,'ptyn.inp');

assign(f2,'ptyn.out');

reset(f1);rewrite(f2);

while not EOF(f1) do

begin

kt:=false;

readln(f1,n,m);

for i:=1 to n do

begin

for j:=1 to m do

Read(f1,a[i,j]);

readln(f1);

end;

for i:=1 to n do

begin

for j:=1 to n do

begin

MaxCot(j);

MinHang(i);

if Max=Min then

begin

Writeln(f2,i,',',j,' la phan tu yen ngua.');

kt:=true;

end;

end;

end;

if kt=false then Writeln(f2,'Khong co phan tu yen ngua.');

end;

Close(f1); Close(f2);

Readln;

End.

program b2;

uses crt;

var a:array[1..100] of integer;

b:array[1..100] of string;

i,j,n:longint;

tam:string;

f1,f2:text;

begin

assign(f1,'connect.inp');

reset(f1);

assign(f2,'connect.out');

rewrite(f2);

readln(f1,n);

for i:=1 to n do

read(f1,a[i]);

for i:=1 to n do

str(a[i],b[i]);

tam:='';

for i:=1 to n do

for j:=i+1 to n do

if b[i]<b[j] then

begin

tam:=b[i];

b[i]:=b[j];

b[j]:=tam;

end;

for i:=1 to n do

write(f2,b[i]);

close(f1);

close(f2);

end.

program b4;

var n,b,dem,sl,s2,s3,s4,s5,s6,s7,k,i,b1: longint;

st,s1,sk:string;

f1,f2: text;

procedure ip;

begin

assign(f1,'C:\FPC\3.0.4\bin\i386-win32\tvh.inp');

reset(f1);

read(f1,n,k);

close(f1);

end;

procedure op;

begin

assign(f2,'C:\FPC\3.0.4\bin\i386-win32\tvh.out');

rewrite(f2);

str(n,st);

b:=length(st);

case b of

1: write(f2,'9');

2: begin

sl:=n-9;

dem:=9+sl*2;

end;

3: begin

s2:=(99-10)+1;

s3:=n-99;

dem:=9+s2*2+s3*3;

end;

4: begin

s2:=99-10+1;

s3:=999-100+1;

s4:=n-999;

dem:=9+s2*2+s3*3+s4*4;

end;

5: begin

s2:=99-10+1;

s3:=999-100+1;

s4:=9999-1000+1;

s5:=n-9999;

dem:=9+s2*2+s3*3+s4*4+s5*5;

end;

6: begin

s2:=99-10+1;

s3:=999-100+1;

s4:=9999-1000+1;

s5:=99999-10000+1;

s6:=n-99999;

dem:=9+s2*2+s3*3+s4*4+s5*5+s6*6;

end;

7: begin

s2:=99-10+1;

s3:=999-100+1;

s4:=9999-1000+1;

s5:=99999-10000+1;

s6:=n-999999;

dem:=9+s2*2+s3*3+s4*4+s5*5+s6*6+s7*7;

end;

end;

if k>=dem then

begin

i:=1;

b1:=0;

repeat

str(i,s1);

b1:=b1+length(s1);

i:=i+1;

until b1>=k;

sk:=s1[length(s1)-(b1-k)];

write(f2,sk);

close(f2);

end;

end;

begin

ip;

op;

end.

program b5;

const fi = 'robot.inp';

fo = 'robot.out';

var f1,f2: text;

n,x,i,j: integer;

A: array[1..50,1..50] of string;

procedure ip;

begin

assign(f1,fi);

reset(f1);

read(f1,n);

close(f1);

end;

procedure op;

begin

for i:=1 to n do

for j:=1 to n do

begin

read(f1,x);

str(x,a[i][j]);

end;

for i:=2 to n do

begin

a[1,i]:=a[1,i-1]+a[1,i];

a[i,1]:=a[i-1,1]+a[i,1];

end;

for i:=2 to n do

for j:= 2 to n do

a[i,j]:= min(a[i-1,j],a[i,j-1]+a[i,j]);

assign(f2,fo);

rewrite(f2);

write(f2,a[n,n]);

close(f2);

end;

begin

ip;

op;

end.

Bình luận (0)
Nguyễn Lê Phước Thịnh
14 tháng 8 2020 lúc 20:03

Bài làm của bạn @TRẦN MINH HOÀNG

Câu 1:

var M,N,i,j,i1:byte;dem,p, Min:integer;

A:Array[1..100,1..100] of integer;

fi,fo:text;

begin

assign(fi,'ptyn.inp');

reset(fi);

assign(fo,'ptyn.out');

rewrite(fo);

read(fi,M);

read(fi,N);

for i:=1 to M do

for j:=1 to N do

read(fi,A[i,j]);

dem:=0;

for i:=1 to M do

begin

Min:=A[i,1];

for j:=1 to N do

if A[i,j]<Min then Min:=A[i,j];

for j:=1 to N do

if A[i,j]=Min then

begin

p:=1;

for i1:=1 to M do if A[i1,j]>A[i,j] then begin p:=0; break end;

if p=1 then begin write(fo,i,' ',j); dem:=dem+1 end;

end;

end;

if dem=0 then write(fo,'Khong co phan tu yen ngua');

close(fi);

close(fo);

end.

Câu 2:

var n,i,j,k,doi,B:longint; Si,Sj,S1,S2:string;

A:Array[1..1000000] of longint;

fi,fo:text;

function LCM(a,b:longint):longint;

var LM:longint;

begin

LM:=1;

while ((LM mod a)<>0) OR ((LM mod b)<>0) do LM:=LM+1;

LCM:=LM;

end;

begin

assign(fi,'connect.inp');

reset(fi);

assign(fo,'connect.out');

rewrite(fo);

readln(fi,n);

for i:=1 to n do readln(fi,A[i]);

for i:=1 to n-1 do

for j:=i+1 to n do

begin

STR(A[i],S1);

STR(A[j],S2);

Si:='';Sj:='';

B:=LCM(length(S1),length(S2));

for k:=1 to ROUND(B/length(S1)) do Si:=Si+S1;

for k:=1 to ROUND(B/length(S2)) do Sj:=Sj+S2;

if Si<Sj then begin doi:=A[i];A[i]:=A[j];A[j]:=doi end;

end;

for i:=1 to n do write(fo,A[i]);

close(fi); close(fo);

end.

Câu 4:

var n,k,i:longint;

S:ansistring;

S1:string;

fi,fo:text;

begin

assign(fi,'tvh.inp');

reset(fi);

assign(fo,'tvh.out');

rewrite(fo);

read(fi,n); read(fi,k);

S:='';

for i:=1 to n do

begin

STR(i,S1);

S:=S+S1;

end;

write(fo,S[k]);

close(fi);

close(fo);

end.

Bình luận (0)

Gì vậy ông :v ??? cho ăn nội quy phát cho vui mồm :>

I. Nội qui tham gia "Giúp tôi giải toán"

1. Không đưa câu hỏi linh tinh lên diễn đàn, chỉ đưa các bài mà mình không giải được hoặc các câu hỏi hay lên diễn đàn;

2. Không trả lời linh tinh, không phù hợp với nội dung câu hỏi trên diễn đàn.

3. Không "Đúng" vào các câu trả lời linh tinh nhằm gian lận điểm hỏi đáp.

Các bạn vi phạm 3 điều trên sẽ bị giáo viên của Online Math trừ hết điểm hỏi đáp, có thể bị khóa tài khoản hoặc bị cấm vĩnh viễn không đăng nhập vào trang web.

Bình luận (0)
Đặng Viết Thái
8 tháng 5 2019 lúc 21:46

pascal đó

bạn ơi

Bình luận (0)

à zị sorry nha :<

Bình luận (0)
Phú Nhuận Nguyễn
18 tháng 3 lúc 18:42

Giúp mình vs

Bình luận (0)
Nguyễn Hoàng Long
18 tháng 3 lúc 19:19

a) tính tổng các số chẵn từ 1 đến 50
b)
  (3): lệnh viết kq của ct trên.
  (4):lệnh in ra màn hình kq của bài toán.
  (5):lệnh kết thúc ct.

Bình luận (0)

a) Tính tổng các số chẵn từ 1 đến 50

b) (3): Cộng các số chẵn trong khoảng từ 1 đến 50

(4): Xuất tổng

(5): Lệnh chờ đợi chương trình xử lý và chạy

Bình luận (0)
MinhLe
11 tháng 5 2020 lúc 21:35

Mình kiểm tra thấy nó có sai về lỗi gì đâu. Ý bạn là sai về cách chạy đúng không, bạn gửi đề để mình xem nhé

Bình luận (0)
crazy Trongthanh
20 tháng 10 2018 lúc 17:29

chắc có hoặc ko?

Bình luận (0)
crazy Trongthanh
20 tháng 10 2018 lúc 17:30

ha

Bình luận (0)
Nguyễn Minh Quân
7 tháng 5 lúc 12:27

Chương trình chạy được , đúng nha bạn

Bình luận (0)
Nguyễn Minh Lệ

ĐÁP ÁN VÒNG 2 CUỘC THI TIN HỌC:

* ĐỀ 1:

Câu 1:

CÂU 1:
const fi='uc.inp';
fo='uc.out';
var f: text;
a,b,c : integer;
function uc(x,y): integer;
var z: integer;
begin
while y<>0 do
begin
z:=x mod y;
x:=y;
y:=z;
end;
uc:=x;
end;
procedure ip;
begin
assign(f,fi);
reset(f);
read(f,a,b,c);
close(f);
end;
procedure out;
begin
assign(f,fo);
rewrite(f);
write(f,uc(uc(a,b),c);
close(f);
end;
begin
ip;
out;
end.

Câu 2:

const fi='SN.inp';
fo='SN.out';
var
f:text;
i,n:integer;
s:real;
procedure ip;
begin
assign(f,fi);
reset(f);
read(f,n);
close(f);
end;
procedure out;
begin
assign(f,fo);
rewrite(f);
s:=0;
for i:= 1 to n do
begin
if i mod 2 <> 0 then
s:=s+(i/(i+1));
if i mod 2 = 0 then
s:=s-(i/(i+1));
end;
write(f,s:0:2);
close(f);
end;
BEGIN
ip;
out;
END.

Câu 3:

const fi='SSNT.inp';
fo='SSNT.out';
var
f:text;
n,i,max,j:integer;
s:string;
a:array[1..32000] of integer;
function nt(x:integer):boolean;
var
i:integer;
begin
nt:=false;
if x < 2 then exit;
for i:= 2 to trunc(sqrt(x)) do
if x mod i = 0 then exit;
nt:=true;
end;
function snt(x:integer):boolean;
begin
snt:=false;
if x= 0 then exit;
while nt(x) = true do
x := x div 10;
if x = 0 then snt:=true;
end;
procedure ip;
begin
assign(f,fi);
reset(f);
max:=a[1];
readln(f,n);
for i:= 1 to n do
begin
read(f,a[i]);
if( a[i] < max ) and (nt(a[i]) = true) then
max:=a[i];
end;
close(f);
end;
procedure out;
begin
assign(f,fo);
rewrite(f);
writeln(f,max);
max:=0;
for i:= 1 to n do
begin
if snt(a[i]) = true then
begin
str(a[i],s);
if length(s) = 2 then
max:=max+a[i];
s:='';
end
else
a[i]:=-32000;
end;
writeln(f,max);
for i:= 1 to n-1 do
for j :=i+1 to n do
if a[i] > a[j] then
begin
max:=a[i];
a[i]:=a[j];
a[j]:=max;
end;
for i:= 1 to n do
if (a[i] > 0) and (a[i] <> a[i-1]) then write(f,a[i],' ');
close(f);
end;
BEGIN
ip;
out;
END.

CÂU 4:

const fi='TUOI.INP';
fo='TUOI.OUT';
var f: text;
a,b: byte;
procedure ip;
begin
assign(f,fi);
reset(f);
read(f,a,b);
close(f);
end;
procedure out;
begin
assign(f,fo);
rewrite(f);
if (x=y*2) and (x>18) and (x-y>=18) then write(f,'CO') else write(f,x-y*2);
close(f);
end;
begin
ip;
out;
end.

const fi='CM.INP';

fo='CM.OUT';

var f: text;

a,n,b,k: integer;

a1: array[1..32000] of integer;

function nt(x: integer): boolean;

var i: integer;

begin

nt:=false;

if x<2 then exit;

for i:=2 to trunc(sqrt(x)) do if x mod i=0 then exit;

nt:=true;

end;

procedure ip;

begin

assign(f,fi);

reset(f);

read(f,n);

close(f);

end;

procedure out;

begin

assign(f,fo);

rewrite(f);

d:=0;

for a:=1 to k do

if nt(a) then

begin

inc(d);

a1[d]:=a;

end;

for a:=1 to d do

for b:=x to d do

if a1[a]+a1[b]=k then writeln(f,a1[a],'+',a1[b]);

end;

close(f);

end;

begin

ip;

out;

end.

*ĐỀ 2 :

BÀI LÀM CỦA BẠN LÊ HOÀNG THẮNG:

//----------------------------CAU 1--------------------------------

var s,d,n,i,u:longint;
a:array[0..32001] of longint;
f:text;
function ucln(x,y:longint):longint;
begin
if y=0 then exit(x) else exit(ucln(y,x mod y));
end;
begin
assign(f,'ucln.inp');reset(f);
readln(f,n);
for i:=1 to n do read(f,a[i]); close(f);
u:=a[1];
for i:=2 to n do u:=ucln(u,a[i]);
assign(f,'ucln.out');rewrite(f);
write(f,'UCLN: ',u,'; UC: ');
for i:=1 to u do if u mod i=0 then
begin
if i<>u then write(f,i,',') else write(f,i);
if i<10 then inc(d) else inc(s,i);
end;
writeln(f);
writeln(f,d); write(f,s);
close(f);
end.

//----------------------------CAU 2--------------------------------

var n,i:longint;
s:real;
f:text;
begin
assign(f,'sn.inp');reset(f);
readln(f,n); close(f);
for i:=1 to n do if odd(i) then s:=s-i/(i+1) else s:=s+i/(i+1);
assign(f,'sn.out');rewrite(f);
write(f,s:0:2);
close(f);
end.

//----------------------------CAU 3--------------------------------

var a:array[0..1000000] of boolean;
b:array[0..1000000] of longint;
i,j,k,n,d:longint;
f:text;
procedure taosang(n:longint);
var i,j:longint;
begin
for i:=2 to trunc(sqrt(n)) do if not(a[i]) then
begin
j:=i*i;
while j<=n do begin a[j]:=true; inc(j,i); end;
end;
end;
begin
assign(f,'boso.inp');reset(f);
readln(f,n); taosang(n); close(f);
assign(f,'boso.out');rewrite(f);
for i:=2 to n do if not(a[i]) then
begin
inc(d);
b[d]:=i;
end;
for i:=1 to d do
for j:=i to d do
if (n-b[i]-b[j]>=b[j]) and not(a[n-b[i]-b[j]]) then
writeln(f,b[i],' ',b[j],' ',n-b[i]-b[j]);
close(f);
end.

//----------------------------CAU 4--------------------------------

THAM KHẢO ĐỀ 1.

//----------------------------CAU 5--------------------------------

var n,i,s,t:longint;
f:text;
begin
assign(f,'u.inp');reset(f);
readln(f,n); t:=n; close(f);
assign(f,'u.out');rewrite(f);
for i:=2 to trunc(sqrt(n)) do
begin
if n mod i=0 then
begin
write(f,i,' ');
repeat n:=n div i until n mod i>0;
end;
if t mod (i*i)=0 then inc(s,i*i);
end;
writeln(f);
write(f,s+1);
close(f);
end.

*ĐỀ CHUNG:

BÀI LÀM CỦA BẠN ĐÀO XUÂN SƠN :

Câu 1:

const fi='TCS.inp';
fo='TCS.out';
var
f:text;
x:char;
tg:byte;
s:integer;
CODE:integer;
procedure ip;
begin
assign(f,fi);
reset(f);
s:=0;
while not(eof(f)) do
begin
read(f,x);
if x in ['0'..'9'] then
begin
val(x,tg,CODE);
s:=s+tg;
end;
end;
close(f);
end;
procedure out;
begin
assign(f,fo);
rewrite(f);
write(f,s);
close(f);
end;
BEGIN
ip;
out;
END.

Câu 2:

const fi='t.inp';
fo='t.out';
var
f:text;
s:string;
i:byte;
procedure ip;
begin
assign(f,fi);
reset(f);
read(f,s);
close(f);
end;
procedure out;
begin
assign(f,fo);
rewrite(f);
s[1]:=upcase(s[1]);
for i:= 2 to length(s) do
if s[i-1] <> #32 then
s[i]:=lowercase(s[i]) else
s[i]:=upcase(s[i]);
write(f,s);
close(f);
end;
BEGIN
ip;
out;
END.

Sách Giáo Khoa
8 tháng 1 2020 lúc 22:02

Em dốt tin lắm cô ơi, cô tạo khóa học nào đi, cô còn kèm em học yeu

Bình luận (0)

Khoá học trên OLM của Đại học Sư phạm HN