Lập trình đơn giản

Nguyễn Minh Lệ

Chào các bạn, chúc các bạn đón tết Canh Tý vui vẻ, hạnh phúc bên gia đình

------------------------------------------------------------------------------------------

Câu 1: Nhân dịp cuối năm, cô giáo mời các bạn đến nhà cô để ăn bánh gato (biết chiếc bánh của cô hình tròn) trong đêm giao thừa, vì một số bạn nhà xa không thể tham gia được .

Yêu cầu : Cho biết chiếc bánh phải cắt bao nhiêu nhát để chia đủ cho số người có trong bữa tiệc (kể cả cô giáo) để số nhát cắt là ít nhất và vừa đủ số người có trong bữa tiệc.

- Dữ liệu vào : n số bạn tham gia ( 1<=N<=40)

- Dữ liệu ra: Số nhát cắt để chia đều chiếc bánh

Ví dụ :

INPUT OUTPUT
1 1

Câu 2:

Trong một cuộc thi thế vận hội các vận động viên gắn thẻ số báo danh lần lượt từ 1 đến n (nghĩa là có n vận động viên) . Sau khi tổ chức xong kì thi ban tổ chức yêu cầu thí sinh có số báo danh có 2 chữ số trở lên phải cắt đều mỗi chữ số theo chiều rộng và chiều dài là 4x10 . Và thí sinh có số báo danh 1 chữ số phải cắt đều theo chiều rộng và chiều dài là 4x10. Sau khi cắt xong ban tổ chức cho sắp xếp lần lượt các số theo như ban đầu đã cắt và cách đều nhau (VD dãy số 11-13 sẽ được sắp xếp: 1 1 1 2 1 3). Vận động viên tìm ra chữ số thứ k trong dãy số đã cắt trên sẽ được một giải thưởng vinh dự.

Yêu cầu : Hãy giúp các vận động viên tìm ra chữ số thứ k trong dãy đó

Dữ liệu vào : Gồm 1 dòng n,k (0<n,k<=2x106)

Dữ liệu ra : Một dòng duy nhất chữ số thứ k

TVH.INP TVH.OUT
13 10 0

------------------------------------------------------------------------------------------

Nguyễn Lê Phước Thịnh
23 tháng 1 2020 lúc 13:38

Câu 2:

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.

Câu 1:

uses crt;
var n:integer;
begin
clrscr;
write('nhap so ban hoc sinh tham gia: '); readln(n);
if n mod 2=1 then writeln(n/2:1:0)
else writeln(n+1);
readln;
end.

Bình luận (0)
 Khách vãng lai đã xóa
Nguyễn Minh Lệ
22 tháng 1 2020 lúc 9:36

Lưu ý : Đây không phải là một cuộc thi.

-Phần thưởng là thẻ cào điện thoại 20k+2GP cho bạn nào có kết quả chính xác nhất . Hạn cuối nạp bài 00:00:00 24/01/2020

Bình luận (0)
 Khách vãng lai đã xóa
Trần Minh Hoàng
22 tháng 1 2020 lúc 10:56

Thử B1:

var N:integer; a:real;
begin
Assign(Input,'banh.inp');
Reset(Input);
read(N);
Close(Input);

Assign(Output,'banh.out');
Rewrite(Output);
If ((N<1) or (N>40)) then
begin write('Nhap sai de!'); close(Output) end;
for a:=1 to N do if ((a*2=N) or (a*2=N+1)) then write(a);
Close(Output)
End.


Bình luận (0)
 Khách vãng lai đã xóa
Nguyễn Lê Phước Thịnh
22 tháng 1 2020 lúc 12:33

@Nguyễn Minh Lệ ơi, cái vd cô cho hình như bị sai rồi. chữ số thứ 10 em text thì là số 1 thưa cô

Theo em thì hình như là không bao giờ người ta cho số 0 làm số báo danh cả

Bình luận (0)
 Khách vãng lai đã xóa
Nguyễn Lê Phước Thịnh
22 tháng 1 2020 lúc 12:34

Bài 2:

uses crt;
const fi='tvh.inp';
fo='tvh.out';
var f1,f2:text;
n,k,dem,cl,i,d:integer;
stk,st:string;
begin
clrscr;
assign(f1,fi); reset(f1);
assign(f2,fo); rewrite(f2);
readln(f1,n,k);
if n<10 then dem:=9
else begin
cl:=n-9;
dem:=9+(cl*2);
end;
if k<=dem then
begin
i:=1;
d:=0;
repeat
str(i,st);
d:=d+length(st);
i:=i+1;
until d>=k;
stk:=st[length(st)-(d-k)];
writeln(f2,stk);
end;
close(f1);
close(f2);
readln;
end.

Bình luận (0)
 Khách vãng lai đã xóa
Nguyễn Minh Lệ
22 tháng 1 2020 lúc 21:57

Mình sẽ chấm theo test nhé vì một số trường hợp không có chủ nhân của giải thưởng:

Câu 1: Gồm 5 test (10đ)

Số lần test Điều kiện Điểm mỗi test
2 N<=10 1
1 10<N<=20 2
1 20<N<=30 2
1 N<=40 4

Câu 2: Gồm 10 test (24đ)

Số lần test Điều kiện Điểm mỗi test
3 n,k<=255 1
2 n,k<=1000 1
2 n,k<=32000 2
3 n,k<=2x106 5

Yêu cầu : Điểm phải từ 30 điểm trở để nhận được thêm một giải thưởng đặc biệt nữa các bạn nhé haha

Bình luận (0)
 Khách vãng lai đã xóa

Các câu hỏi tương tự
Good look_Good like
Xem chi tiết
Hồ Hoàng Long
Xem chi tiết
Tuyết Lê
Xem chi tiết
No_pvp
Xem chi tiết
No_pvp
Xem chi tiết
Nguyễn Chơn Nhân
Xem chi tiết
Trần Minh Hoàng
Xem chi tiết
Ngô Thị Tân
Xem chi tiết
Huệ Hà
Xem chi tiết