Bài 1: Một cụ già năm nay đã hơn trăm tuổi tham gia một chương trình
truyền hình. Khi được MC hỏi về tuổi của mình cụ đáp: Nếu lấy ngày sinh của tôi
cộng với bình phương các chữ số tuổi của tôi sẽ ra tuổi của tôi. Quá bất ngờ với
tình huống này nên MC không thể tính ra tuổi của cụ già. Em hãy giúp MC tìm ra
tuổi và ngày sinh của cụ già nhé
Bài 2: Mô phỏng lại hoạt động đoạn chương trình sau đây cho biết a=?,
b=?
a:=1;b:=2;
for i:=1 to 3 do
for j:=2 to 4 do
a:=a+i+j;
b:=b+a;
Bài 3: Mô phỏng lại hoạt động đoạn chương trình sau đây cho biết a=?,
b=?
a:=1;b:=2;
for i:=1 to 3 do
for j:=2 to 4 do
begin
a:=a+i+j;
b:=b+a;
end;
Bài 4: Mô phỏng lại hoạt động đoạn chương trình sau đây cho biết a=?,
b=?
a:=1;b:=2;
for i:=1 to 3 do
begin
for j:=2 to 4 do
a:=a+i+j;
b:=b+a;
end;
Bài 5:
Sau nhiều lần thương lượng Bờm đã quyết định bán cho Phú Ông
chiếc quạt mo của mình với giá N đồng. Do Bờm không có tiền trả lại nên Phú Ông
phải trả đúng N đồng. Trong túi Phú Ông có các tờ tiền mệnh giá 500, 1000, 2000
đồng. Hãy giúp Phú Ông đưa ra các cách trả tiền cho Bờm
Yêu cầu: Viết chương trình đưa ra các cách trả tiền, (mỗi
cách trên một dòng, nếu không có ghi chữ No). Với N là số nguyên dương nhập từ
bàn phím
Ví dụ:
Bài 6: Sau
một năm nuôi Heo đất, Bờm đã tiết kiệm được x đồng. Bờm quyết định dùng số tiền
trên để mua y kg Gạo và Đậu tặng các bạn học sinh nghèo ăn Tết Nguyên Đán 2019.
Giá một kg Gạo nếp là 6 đồng, giá một kg Gạo tẻ là 4 đồng, ba kg Đậu giá là 11 đồng.
Yêu
cầu: Viết chương trình giúp Bờm đưa ra các cách mua Gạo và Đậu (mỗi cách mua phải
có đủ 3 loại, số kg mỗi loại phải là số nguyên dương, nếu có nhiều cách thì mỗi cách in trên một dòng, không có cách thì ghi ra chữ No).Với hai số nguyên x và y nhập từ bàn phím
Ví dụ x=108 và y=23
Bờm tiết kiệm được 108 đồng và muốn mua 23 kg Gạo và Đậu thì Bờm có 2
cách mua
Cách 1: Mua 9 kg Gạo nếp, 8 kg Gạo tẻ, 6 kg Đậu
Cách 2: Mua 10 kg Gạo nếp, 1 kg Gạo tẻ, 12 kg Đậu
Bài 7: Tèo đến cửa hàng sơn để mua x kg sơn. Trong cửa hàng có các loại thùng sơn là 15 kg, 18kg, 21 kg. Người chủ cửa hàng chỉ bán sơn nguyên thùng chứ không bán lẻ. Yêu cầu Em hãy viết chương trình giúp Tèo đưa ra cách mua sơn với x nhập từ bàn phím (có nhiều cách thì mỗi cách trên một dòng và phải có đủ 3 loại, không có cách ghi no). Mỗi dòng ghi lần lượt số thùng 15, 18, 21 mỗi số cách nhau 1 kí tự trắng
ví dụ: x=165 thì có 5 cách
Thứ Sáu, 12 tháng 10, 2018
Bài tập Pascal 10
Bài 8: Bạn có từng thắc
mắc vì sao hoa loa kèn có 3 cánh, hoa cúc vạn thọ 13 cánh, hoa cúc tây 21 cánh,
hoa cúc thường có 34 hoặc 55 hoặc 89 cánh?
Fibonacci là dãy số kinh điển trong toán
học được tìm thấy cách đây hơn 800 năm. Đến nay các nhà khoa học phát hiện
nhiều trùng hợp thú vị về dãy số này trong tự nhiên.
Dãy
Fibonacci là dãy vô hạn các số tự nhiên bắt đầu bằng 1 và 1, sau đó các số tiếp
theo sẽ bằng tổng của 2 số liền trước nó.
Cụ
thể, các số đầu tiên của dãy Fibonacci là 1, 1, 2, 3, 5, 8, 13, 21, 34,
55, 89, 144, 233, 377, 610...
Yêu cầu 1: Viết chương trình in ra số fibonaci thứ n. Với n nhập từ bàn phím
ví dụ: n=6 in số 8
Yêu cầu 2: Viết chương trình in ra các số fibonaci <= n. Với n nhập từ bàn phím
ví dụ: n=6 in ra các số 1 1 2 3 5
Yêu cầu 3: Viết chương trình in ra n cặp số (2 số một cặp) fibonaci đầu tiên. Với n nhập từ bàn phím
ví dụ: n=2 in ra các số 1 1 2 3 (2 cặp số đầu tiên)
Đăng ký:
Đăng Nhận xét (Atom)
Bài 1
Trả lờiXóavar
a,b,c,d:integer;
begin
for a:=1 to 31 do
for b:=1 to 9 do
for c:=0 to 9 do
for d:=0 to 9 do
if (a+b*b+c*c+d*d=100*b+10*c+d) then
begin
writeln('ngay sinh=',a);
writeln('tuoi=',b,c,d);
end;
readln;
end.
Bài 5:Trường hợp N phải chia hết cho 1000 (vì viết chương trình bị lỗi nhiều)
Trả lờiXóavar
t1,t2,t3,n:integer;
begin
write('nhap n=');readln(n);
for t1:=0 to 10 do
for t2:=0 to 5 do
for t3:=0 to 2 do
if n=(t1*500+t2*1000+t3*2000) then
writeln(t1,' to 500 ',t2,' to 1000 ',t3,' to 2 nghin ');
readln;
end.
Nhận xét này đã bị tác giả xóa.
XóaNhận xét này đã bị tác giả xóa.
XóaSửa phần lặp for
Xóafor t1:=0 to (n div 500) do
for t2:=0 to (n div 1000) do
for t3:=0 to (n div 2000) do
vòng for
Xóafor t1:=0 to (n div 500) do
for t2:=0 to (n div 1000) do
for t3:=0 to (n div 2000) do
là chuẩn rồi đó em. Suy nghĩ trường hợp không có cách thì in ra chữ No nhé
Nhận xét này đã bị tác giả xóa.
Trả lờiXóaprogram Ngo_Ba_Van;
Trả lờiXóauses crt;
var
i,c:longint;
a,b:real;
begin
clrscr;
write('nhap c=');
readln(c);
b:=1;
a:=1;
writeln('day so fibonacci:');
writeln(a:0:0);
writeln(b:0:0);
for i:=1 to (c-1) do
begin
a:=a+b;
b:=a+b;
writeln(a:0:0);
writeln(b:0:0);
end;
readln
end.
Em làm rất tốt yêu cầu 3. 10 đ. Nhưng bài này nên khai báo a,b kiểu số nguyên nhé
Trả lờiXóaNhận xét này đã bị tác giả xóa.
Trả lờiXóaprogram phat;
Trả lờiXóauses crt;
var a,b,d,y,n:longint;
begin
a:=0;
b:=1;
readln(n);
writeln(b);
for y:=0 to n-3 do
begin
d:=a+b;
a:=b;
b:=d;
writeln(d);
end;
readln
end.
Th2 của Phát chưa đúng. Hãy test với n=8 để thấy nhé
Xóaprogram Truong_Hop_1;
Trả lờiXóauses crt;
var
a,b,c,i:longint;
begin
a:=1;
b:=1;
write('nhap c =');
readln(c);
for i:=1 to (c div 2)-1 do
begin
a:=a+b;
b:=b+a;
end;
writeln(b);
readln
end.
Trường hợp này em làm chưa đúng nhé. Ví dụ n=5 của em in ra 3 là chưa chính xác
Xóaprogram Truong_Hop_2;
Trả lờiXóauses crt;
var
a,b,c,i:longint;
begin
clrscr;
write('nhap c=');
readln(c);
a:=1; writeln(a);
b:=1; writeln(b);
for i:=1 to c-1 do
begin
a:=a+b;
if a<=c then
writeln(a);
b:=b+a;
if b<=c then
writeln(b);
end;
readln
end.
Th2 với n=25 in dư rất nhiều số. Vấn đề này sẽ được giải quyết sau nhé
Xóavậy thì như này được ko thầy: thay for i:=1 to c-1 thành
Xóafor i:=1 to c div 2
program truong_hop_2;
Trả lờiXóauses crt;
var a,b,d,y,n:longint;
begin
a:=0;
b:=1;
readln(n);
for y:=0 to (n div 2)+1 do
begin
d:=a+b;
a:=b;
b:=d;
writeln(d);
end;
readln
end.
em lỡ tay xóa trường hợp 1 ạ !!!!!!!!!!!!!!!!!!!!!!!!!!!!
XóaVẫn chưa đúng nhé.n<5 thì đúng, N>=6 là sai rùi
Xóaem sửa lặp y:=0 thành y:=1
Trả lờiXóasửa n div 2 thành (n+1) div 2
Trả lờiXóathử máy
Trả lờiXóathử máy
Trả lờiXóađược rôì
Trả lờiXóavar
Trả lờiXóaa,b,i,n:integer;
begin
a:=1;
b:=1;
write('nhap n=');readln(n);
if n<=2 then write(1) else
if n mod 2=0 then for i:= 1 to (n div 2)-1 do
begin
a:=a+b;
b:=b+a;
end else
for i:=1 to (n div 2) do
begin
a:=a+b;
b:=b+a;
end;
if n mod 2=0 then write(b) else write(a);
readln;
end.
baif tren la truong hop 1
Trả lờiXóa
Trả lờiXóavar i,n,a,b,z:integer;
begin
write('nhap n='); readln(n);
a:=1;
b:=1;
i:=2;
for z:=2 to n-1 do
begin
i:=i+1;
if i mod 2=1 then a:=a+b else b:=b+a;
end;
if i mod 2=1 then write('so fibo thu',' ',n,'la:',a)
else write('so fibo thu',' ',n,'la:',b);
readln;
end.
TH1
Xóa
Trả lờiXóavar a,b,c,i,n:integer;
begin
a:=1;
b:=1;
c:=a+b;
write(n,' ','so fibo dau tien la:');
write(1:2,1:2);
for i:=3 to n do
begin
write(c:2);
a:=b;
b:=c;
c:=a+b;
end;
readln;
end.
TH2
Xóavar a,b,c,i,n:integer;
Trả lờiXóabegin
a:=1;
b:=1;
c:=a+b;
write(n,' ','cap so fibo dau tien la:');
write(1:2,1:2);
for i:=3 to (n*2) do
begin
write(c:2,' ');
a:=b;
b:=c;
c:=a+b;
end;
readln;
end.
TH3
XóaRất tốt. Chúc mừng bạn Phương Linh
Xóa