hoanthanhktlt
Câu 1 (đề 1)
a) Đoạn mã đã cho thực hiện công việc nhập vào 1 số nguyên n để tính giá trị của số nguyên T và in ra màn hình giá trị của T. Nếu n=0 hoặc n=1, T=1. Nếu n khác 0 và n khác 1, giá trị số nguyên T được tính theo công thức T=n*F(n-1). Đoạn mã sử dụng chiến lược thiết kế thuật toán đệ quy để cài đặt.
b) Sửa đổi đoạn mã để thu được thuật toán có độ phức tạp thấp hơn:
Void F(int n)
{
int i, T;
if ((n==0)||(n==1)) T=1;
else
T=1;
for (i=0;i<n;i++)
T=T*i;
Printf (“%d”,T);
}
Đề 2
a) Đoạn mã thực hiện công việc nhập vào 1 số nguyên n để tính giá trị của số nguyên T và in ra màn hình giá trị của số T. nếu n=0 hoặc n=1 thì T=1. Nếu n khác 0 và n khác 1, giá trị số nguyên T được tính theo công thức T=F(n-1)*F(n-2). Đoạn mã sử dụng chiến lược thiết kế thuật toán đệ quy để cài đặt.
b) Sửa đổi đoạn mã để thu được thuật toán có độ phức tạp thấp hơn:
Void F(int n)
{
if ((n==0)||(n==1) return 1;
int Fn, Fn_1,Fn_2;
Fn_1 = Fn_2 = 1;
for (int i=3; i<=n; i++)
{
Fn=Fn_1 + Fn_2;
Fn_2=Fn_1;
Fn_1=Fn;
}
return Fn;
}
Bạn đang đọc truyện trên: Truyen247.Pro