tại sao tích từ 1-10 là 3628800 mà pascal tính được có 24320 vậy mọi người??:(
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.
program GiamGiaTheoSoLuong;
varsoluonghoa: integer;
dongia, thanhtien: real;
begin
write('Nhap so luong hoa: ');
readln(soluonghoa);
write('Nhap don gia: ');
readln(dongia);
thanhtien := soluonghoa * dongia;
if soluonghoa >= 10 then
thanhtien := thanhtien * 0.9
else if soluonghoa >= 5 then
thanhtien := thanhtien * 0.95;
writeln('So luong hoa: ', soluonghoa);
writeln('Don gia: ', dongia:0:2);
writeln('Thanh tien: ', thanhtien:0:2);
readln;
end.
uses crt;
var n:int64;
begin
clrscr;
n:=maxint;
while 1/n>=0.0005 do
begin
n:=n-1;
end;
writeln(n);
readln;
end.
chỉ cho em câu này đi
Câu 6: Cho biết kết quả in ra màn hình của đoạn chương trình sau
Câu a)
i := -1;
j:= 20;
For k:= 1 to 5 do
If k mod 2 = 0 then i:= i + 1;
j := j + i;
Writeln(i,‘ ’,j);
=>chương trình bị lỗi
Câu b)
n := 127;
m := 0;
While n < >0 do
Begin
m := m * 10 + n mod 10;
n := n div 10;
end;
writeln(m);
a/
Giá trị đầu của vòng lặp là 1, giá trị cuối là 5 => biến đếm của k lần lượt tăng thành 1 dãy số 1,2,3,4,5
k mod 2 =0 -> nếu k là số chẵn thì biến i tăng lên 1 đơn vị. Dãy số gồm 2 số chẵn (2,4) => i tăng 2 đơn vị => i = -1 + 1 + 1 = 1
j = j + i => j = 20 + 1 = 21
Vậy i=1; j=21
b/
Lần lặp thứ nhất: m=0*10 + 7 = 7 ; n = 12
Lần lặp thứ 2: m=7*10 + 2 = 72; n= 1
Lần lặp thứ 3: m=720 + 1 = 721; n=0 (n=0 => dừng vòng lặp)
Vậy m=721
Kết quả sai do em khai báo biến T là integer
Giá trị tối đa T có thể chứa là 32767 nên không thể chứa được kết quả như em mong muốn
Em sửa lại khai báo T là longint là được
i*t là sai rồi bạn
đúng ra phải là t*i nha