Cho một số tự nhiên N (1<=N<=120), người ta phân tích số N thành các số tự nhiên s¬i (1<= s¬i<= N) có tổng bằng N. Ví dụ N=4 ta có 5 cách phân tích: Cách 1: 4 = 1+1 +1+1 Cách 2: 4 = 2¬ +1+1 Cách 3: 4= 2+2 Cách 4: 4= 3+1 Cách 5: 4= 4 Yêu cầu: Từ một số N cho trước, tìm số cách để phân tích như trên. Dữ liệu vào: Từ file PT.INP có chứa giá trị N (1<=N<=120). Kết quả ra: Ghi ra file PT.OUT chứa tổng số cách phân tích được. Ví dụ: PT.INP PT.OUT 4 5

1 câu trả lời

const inp='PT.INP';
      outp='PT.OUT';
var t,n,i:longint;
    f:text;
//
function kt(x:longint):longint;
begin
if x<>0 then exit(1) else exit(0);
end;
//
begin
assign(f,inp);
reset(f);
read(f,n);
close(f);
t:=0;
for i:=1 to n div 2 do
 inc(t,((n-i) div i)+kt(n mod i));
assign(f,outp);
rewrite(f);
write(f,t+1);
close(f);
end.

Câu hỏi trong lớp Xem thêm