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.
Bài bạn có 1 số lỗi về cú pháp. Và đề không yêu cầu sử dụng tệp .
VD lỗi : if uoc:=2 then S:=S+A;
Nhưng thuật toán vậy là đúng rồi. Mình sẽ tặng bạn GP ![]()
Cách 2:
uses crt;
var f:array[1..100]of integer;
n,i,t,kt,j:integer;
begin
clrscr;
write('Nhap n='); readln(n);
f[1]:=1;
f[2]:=1;
i:=2;
repeat
i:=i+1;
f[i]:=f[i-1]+f[i-2];
until i=n;
t:=0;
for i:=1 to n do
if f[i]>1 then
begin
kt:=0;
for j:=2 to f[i]-1 do
if f[i] mod j=0 then kt:=1;
if kt=0 then t:=t+f[i];
end;
writeln(t);
readln;
end.
var
i,j,n,k,x,vt:longint;
s,r,s1,s2:ansistring;
A:array[0..101] of boolean;
B:array[0..101] of longint;
BEGIN
assign(input,'gach.inp'); reset(input);
assign(output,'gach.out'); rewrite(output);
read(n,k);
for i:=1 to 101 do
A[i]:=true;
A[1]:=false;
for i:=1 to trunc(sqrt(101)) do
if (A[i] = true) then
for j:=2 to 101 div i do
A[i*j]:=false;
vt:=0;
for i:=1 to 101 do
if (A[i] =true) then
begin
inc(vt);
B[vt]:=i;
end;
for i:=1 to n do
begin
str(B[i],r);
s:=s+r;
end;
x:=length(s)-k-1;
vt:=1;
while (x >= 0) do
begin
for j:=vt to length(s)-x do
if (s[vt] > s[j]) then vt:=j;
s1:=s1+s[vt];
dec(x);
inc(vt);
end;
x:=length(s)-k-1;
vt:=1;
while (x >= 0) do
begin
for j:=vt to length(s)-x do
if (s[vt] < s[j]) then vt:=j;
s2:=s2+s[vt];
dec(x);
inc(vt);
end;
writeln(s);
writeln(s1);
writeln(s2);
close(input);
close(output);
END.
uses crt;
var n,n1,s:real;
begin
clrscr;
write('Nhap n: ');readln(n);
n1:=2*n+1;
s:=((n1 - 1)/2+1)*(n1 + 1)/2;
write(s:0:0);
readln
end.
program Doi_giay;
var n,i,j,d:longint;
a,b:array[1..1000] of longint;
begin
readln(n);
for i:=1 to n do
read(a[i]);
for j:=1 to n do
read(b[j]);
for i:=1 to n do
for j:=1 to n do
if a[i]=b[j] then begin a[i]:=0;
b[j]:=0; end;
for i:=1 to n do
if a[i]<>0 then d:=d+1;
write(d);
end.
Mình có bài này ở gmail bạn gửi địa chỉ gmail của bạn để mình chuyển đáp án nhé
Bộ test số 2 số 7 ở sau số 789 sẽ tạo ra số lớn hơn nó nhưng sao lại để số 7 ở đầu tiên nhỉ. (789756119123)
sắp xếp lại mảng rồi in ra màn hình a[1]a[2]a[3]a[n] làdc
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.
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
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.
cô @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à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.
OK cô đã sửa lại rồi nhé
Em làm tiếp C1 đi
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đ)
Câu 2: Gồm 10 test (24đ)
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é
^^ Em khai báo a là real thì không dùng làm biến đếm cho vòng lặp for được
*Bài của em: Em dùng tệp rồi còn readln ở dưới là nó ra màn hình đen
dạ, thưa cô bài của em text tất cả các trường hợp hình như là được hết đúng không cô
còn cái readln thì theo em biết là không cần, tại vì bài này xuất ra file thì không cần uses crt; clrscr; readln
Bài của em cô chỉ test được 5 cái , tương đương với 5/10; 5đ/24 thôi em xem rồi sửa lại nhé
Hoàn toàn chính xác, em hãy nêu qua ý tưởng bài toán của mỗi bài để nhận giải thưởng nhé
Em nêu ý tưởng từng bài để cô trao giải nhé
Bài 1:
-Nếu số bạn tham dự là số lẻ thì tổng số người trong buổi tiệc đó là số chẵn
khi số chẵn thì cô giáo chỉ cần cắt theo đường kính(tức là cắt đôi cái bánh ra)
-Nếu số bạn tham dự là số chẵn thì tổng số người trong buổi tiệc đó là số lẻ
khi số lẻ thì cô giáo buộc phải cắt theo bán kính của chiếc bánh(tức là cắt n+1 nhát)
Bài 2:
Ý tưởng: gọi dem là số chữ số trong dãy số từ 1 tới n.nếu k<=dem thì gán d1 cho 0; gán i cho 1.sau đó vào vòng lặp repeat thì đổi i ra chuỗi st1, d1 tăng lên chiều dài của st1 đơn vị. tăng i lên 1 đơn vị. Until cho đến khi d1>=k;
sau đó phần tử thứ k được gán bẳng phần tử thứ length(st1)-(d-k) của st1
và sau đó xuất phần tử thứ k ra là xong.
N/x: Bài của em làm rất tốt nhưng bài 2 em làm khá phức tạp.
-Câu 1: 10đ (full test);
- Câu 2: 19Đ
TỔNG : 29Đ
cô có thể viết cho em chi tiết các bộ text với điều kiện n,k<=2x106 được không?
em sai text cuối đúng không cô?