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

View as PDF



Problem type
Allowed languages
C, C++, Pascal, Python, SCRATCH
Points: 5 Time limit: 1.0s Memory limit: 1G Input: stdin Output: stdout

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

Comments

There are no comments at the moment.