Tin học Fibonacci

noobboy

Học sinh mới
Thành viên
13 Tháng chín 2020
40
6
6
15
Nghệ An
Trường THCS Đặng Thai Mai
[TẶNG BẠN] TRỌN BỘ Bí kíp học tốt 08 môn
Chắc suất Đại học top - Giữ chỗ ngay!!

ĐĂNG BÀI NGAY để cùng trao đổi với các thành viên siêu nhiệt tình & dễ thương trên diễn đàn.

Cho dãy số Fibonacci được xác định như sau: F1=F2=1,Fn=Fn−1+Fn−2,∀n≥3. Một số số hạng ban đầu của dãy như sau: 1,1,2,3,5,8,13,21,34...
Yêu cầu: Tính số Fibonacci thứ n, kết quả có thể rất lớn nên ta phải chia lấy dư cho 1000000007
Dữ liệu: Số nguyên dương n (0<n<106)
Kết quả: Fn%1000000007
 

banbelaso1

Học sinh mới
Thành viên
3 Tháng mười 2020
3
1
6
21
Nghệ An
Trườ
Cho dãy số Fibonacci được xác định như sau: F1=F2=1,Fn=Fn−1+Fn−2,∀n≥3. Một số số hạng ban đầu của dãy như sau: 1,1,2,3,5,8,13,21,34...
Yêu cầu: Tính số Fibonacci thứ n, kết quả có thể rất lớn nên ta phải chia lấy dư cho 1000000007
Dữ liệu: Số nguyên dương n (0<n<106)
Kết quả: Fn%1000000007
#include <bits/stdc++.h>
using namespace std;
int main()
{
long double n,s=0;
cin >>n;
int i=1;
s=1;
while (s<=n)
{
i++;
s=s+(double long)1/i;
}
cout<<i;
}
code nha

Cho dãy số Fibonacci được xác định như sau: F1=F2=1,Fn=Fn−1+Fn−2,∀n≥3. Một số số hạng ban đầu của dãy như sau: 1,1,2,3,5,8,13,21,34...
Yêu cầu: Tính số Fibonacci thứ n, kết quả có thể rất lớn nên ta phải chia lấy dư cho 1000000007
Dữ liệu: Số nguyên dương n (0<n<106)
Kết quả: Fn%1000000007
#include <bits/stdc++.h>
#define mod 1000000007
using namespace std;
int main()
{
long long n,d[1000000];
cin>>n;
if ((n==1)||(n==2))
{
cout<<1;
}
else
{
d[1]=1;
d[2]=1;
for (long long i=3;i<=n;i++)
{
d=(d[i-1]+d[i-2])%mod;
}
cout<<d[n];
}
}
 

System32

Học sinh chăm học
Thành viên
25 Tháng chín 2018
343
348
76
Hà Nội
THPT Marie Curie
Cho dãy số Fibonacci được xác định như sau: F1=F2=1,Fn=Fn−1+Fn−2,∀n≥3. Một số số hạng ban đầu của dãy như sau: 1,1,2,3,5,8,13,21,34...
Yêu cầu: Tính số Fibonacci thứ n, kết quả có thể rất lớn nên ta phải chia lấy dư cho 1000000007
Dữ liệu: Số nguyên dương n (0<n<106)
Kết quả: Fn%1000000007
Python
Mã:
import math

print(round((((1 + math.sqrt(5)) / 2)**int(input())) / math.sqrt(5)) % (10**9 + 7))
 
Top Bottom