Phân tích số N thành các số Fibonacci

Xem PDF



Dạng bài
Ngôn ngữ cho phép
C, C++, Pascal, Python, SCRATCH
Điểm: 5 Thời gian: 1.0s Bộ nhớ: 1G Input: bàn phím Output: màn hình

Dãy số Fibonaci là dãy số tự nhiên gồm có hai số đầu tiên là 1, các số tiếp theo có quy luật là bằng tổng hai số liền kề trước số đó.
Cho trước một số nguyên không âm N

Yêu cầu: Kiểm tra xem có thể phân tích N thành dãy các số Fibonaci liên tiếp bắt đầu từ 1 hay không?

Dữ liệu vào:

  • Dòng 1: Ghi số nguyên dương N (0 < N < 109).

Dữ liệu ra:

  • Dòng 1: Ghi dãy số được phân tích ra thành các số fibonaci từ số đầu tiên, kể cả số dư ra
  • Dòng 2: Ghi chữ YES nếu phân tích được, ghi NO nếu không phân tích hết được
Sample 1
Input
15
Output
1 1 2 3 5 3
NO
Sample 2
Input
20
Output
1 1 2 3 5 8
YES

Bình luận

Không có bình luận nào.