Yahoo Hỏi & Đáp sẽ ngừng hoạt động vào ngày 4 tháng 5 năm 2021 (Giờ Miền Đông nước Mỹ) và từ nay, trang web Yahoo Hỏi & Đáp sẽ chỉ ở chế độ đọc. Các thuộc tính hoặc dịch vụ khác của Yahoo hay tài khoản Yahoo của bạn sẽ không có gì thay đổi. Bạn có thể tìm thêm thông tin về việc Yahoo Hỏi & Đáp ngừng hoạt động cũng như cách tải về dữ liệu của bạn trên trang trợ giúp này.
Nhập x,n. Tính 4 chữ số tận cùng của x^n ????????? Ai pro cho tôi xin code pascal bài trên bằng pp đệ quy ( thuật toán chia để trị) .?
6 Câu trả lời
- 2 năm trước
Propram VD;
Uses crt;
Var a : real;
x, b, i : integer;
n : Byte;
Begin
Clrscr;
Write(`Nhap (x;n) = ´); Read(x;n);
Writeln;
a:=1;
If n>1 then For i:=1 to n do a:=a*x;
If a<10000 then write(`4 chu so cuoi la ´,a)
Else
begin
b:=a - 10000*(Trunc(a/10000));
Write(`4 chu so cuoi la ´,b);
end;
Readln
End.
Hàm Trunc(x) là lấy phần nguyên của số thực x
Vd: Trunc(3,45)
Kết quả = 3
Lấy a là kq của biểu thức x^n chia cho 10000 để dịch chuyển dấu phẩy thập phân sang trái 4 chữ số rồi lấy phần nguyên nhân cho 10000 để hoàn lại, sau đó lấy số ban đầu trừ lại là ra 4 chữ số cuối là b.
- Ẩn danh3 năm trước
b
- namvt2000Lv 62 năm trước
4 chữ số tận cùng nên chỉ cần lấy số <10000.
Cách giải:
c = 10000
y = x mod c
i=0
r = 1
while ( i < n)
r = r * y
r = r mod c
end_while
print( r)
cách giải này sẽ không bị tràn số khi tính x^n
- Ẩn danh3 năm trước
k
- Ẩn danh3 năm trước
c