Trang chủ Tin Học Lớp 10 Dãy số Fibonacci được Fibonacci, một nhà toán học người...

Dãy số Fibonacci được Fibonacci, một nhà toán học người Ý, công bố vào năm 1202 trong cuốn sách Liber Abacci - Sách về toán đồ qua 2 bài toán: Bài toán con thỏ

Câu hỏi :

Dãy số Fibonacci được Fibonacci, một nhà toán học người Ý, công bố vào năm 1202 trong cuốn sách Liber Abacci - Sách về toán đồ qua 2 bài toán: Bài toán con thỏ và bài toán số các "cụ tổ" của một ong đực. Bạn có thể tham khảo về dãy Fibonacci tại đây: wikipedia. Chung quy lại dãy Fibonacci được định nghĩa là dãy số có công thức: F1 = F2 = 1, Fn = F(n-1) + F(n-2) với mọi số nguyên n lớn hơn 2. Một vài số hạng đầu tiên của dãy như sau: 1, 1, 2, 3, 5, 8, 13, 21, ...Có rất nhiều vấn đề Toán học, Kinh tê, Thế giới tự nhiên tuân theo quy luật của dãy số này. Hôm nay ta sẽ xem xét một tính chất khá thú vị cho dãy Fibonacci. Người ta chứng minh được rằng, với mọi số nguyên dương X đều phân tích được dưới dạng tổng của các số Fibonacci khác nhau. Ví dụ: 7 = 2 + 5, 10 = 2 + 8 = 2 + 3 + 5. Yêu cầu: Cho một số nguyên dương X, hãy tính xem cần ít nhất bao nhiêu số Fibonacci khác nhau để tổng của chúng bằng X. Input Specification Một dòng duy nhất ghi số nguyên dương X (0≤X≤109) Output Specification In ra số lượng ít nhất các số Fibonacci có tổng bằng X. C++ nha mn Mong các pro giúp

Lời giải 1 :

#include<bits/stdc++.h>
using namespace std;
int main()
{
 int n,i,dem=0;
 cin>>n;
 long long a[100];
 a[0]=1;
 a[1]=1;
 for (i=2;i<100;i++)
 {
  a[i]=a[i-1]+a[i-2];
  if (a[i]>n){
   dem=1;
   n=n-a[i-1];
   break;
  }
 }
 while (n>0)
 {
  for (i;i>=0;i--)
  {
   if (a[i]<=n)
   {
   dem+=1;
   n=n-a[i];
   }
  }
 }
 cout<<dem;
}

Thảo luận

-- mà bn có muốn lm bài khó kia bây h luôn ko mik gửi cho
-- =) ok lun
-- uh ở đây hay trên câu hỏi ??
-- =) tùy bạn thui
-- câu hỏi nha oke ko?
-- okeeeeee =)
-- https://hoidap247.com/cau-hoi/2481076 đây nha bn:))
-- fibonacci à

Lời giải 2 :

#include <bits/stdc++.h>
using namespace std;

int main()

{

long long a,a1 = 1, a2 = 1,i=3,n;

cin>>n;

if (n == 1 or n == 2) return 1;

while (i <= n)

{

a = (a1 + a2)%1000000007;

a1 = a2; a2 = a;

i++;

}

cout << a;

}

Bạn có biết?

Tin học, tiếng Anh: informatics, tiếng Pháp: informatique, là một ngành khoa học chuyên nghiên cứu quá trình tự động hóa việc tổ chức, lưu trữ, xử lý và truyền dẫn thông tin của một hệ thống máy tính cụ thể hoặc trừu tượng (ảo). Với cách hiểu hiện nay, tin học bao hàm tất cả các nghiên cứu và kỹ thuật có liên quan đến việc mô phỏng, biến đổi và tái tạo thông tin.

Nguồn : Wikipedia - Bách khoa toàn thư

Tâm sự 10

Lớp 10 - Năm thứ nhất ở cấp trung học phổ thông, năm đầu tiên nên có nhiều bạn bè mới đến từ những nơi xa hơn vì ngôi trường mới lại mỗi lúc lại xa nhà mình hơn. Được biết bên ngoài kia là một thế giới mới to và nhiều điều thú vị, một trang mới đang chò đợi chúng ta.

Nguồn : ADMIN :))

Liên hệ hợp tác hoặc quảng cáo: gmail

Điều khoản dịch vụ

Copyright © 2021 HOCTAPSGK