Viết thuật toán tính dãy Fibonacci: F1=1,F2=1 Fn= Fn-1+Fn-2 Nêu ý tưởng
Hãy nhập câu hỏi của bạn vào đây, nếu là tài khoản VIP, bạn sẽ được ưu tiên trả lời.
Bài 1:
uses crt;
var f:array[1..255]of integer;
i,n,t,kt:integer;
begin
clrscr;
write('Nhap n='); readln(n);
i:=2;
f[1]:=1;
f[2]:=1;
repeat
i:=i+1;
f[i]:=f[i-1]+f[i-2];
until i=n;
writeln('Day so fibonaci la: ');
for i:=1 to n do
write(f[i]:4);
writeln;
t:=0;
for i:=1 to n do
t:=t+f[i];
writeln('Tong cua day la: ',t);
kt:=0;
for i:=2 to trunc(sqrt(t)) do
if t mod i=0 then kt:=1;
if (kt=0) and (t>1) then writeln(t,' la so nguyen to')
else writeln(t,' khong la so nguyen to');
readln;
end.
Bài 2:
uses crt;
var a:array[1..100]of integer;
i,n,max,min,t:integer;
begin
clrscr;
write('Nhap n='); readln(n);
for i:=1 to n do
begin
write('A[',i,']='); readln(a[i]);
end;
max:=a[1];
min:=a[1];
for i:=1 to n do
begin
if max<a[i] then max:=a[i];
if min>a[i] then min:=a[i];
end;
t:=0;
for i:=1 to n do
t:=t+a[i];
writeln('So nho nhat la: ',min);
writeln('So lon nhat la: ',max);
writeln('Trung binh cong cua day so la: ',t/n:4:2);
readln;
end.
a)
program UCLN_va_BCNN;
uses crt;
var a,b,c,r,p:integer;
begin
clrscr;
write('nhap a,b:');readln(a,b);
if a<b then
begin
c:=a;
a:=b;
b:=c;
end;
p:=a*b;
r:=a mod b;
while r<>0 do
begin
a:=b;
b:=r;
r:=a mod b;
end;
writeln('UCLN la: ',b);
writeln('BCNN la: ',p div b);
readln;
end.
b)
program fibonaci;
uses crt;
var i,n:integer;
a:array[1..30]of integer;
begin
clrscr;
repeat
write('nhap n:');readln(n);
if (n<1)or(n>30) then writeln('so n phai lon hon hoac bang 1 va nho hon hoac bang 30:);
until (n>=1)and(n<=30);
a[1]:=1;
a[2]:=1;
for i:=3 to n do
a[i]:=a[i-1]+a[i-2];
writeln(n,' so fibonaci dau tien la:');
for i:=1 to n do
write(a[i]:3);
readln;
end.
Đáp án D
Ta có
f n = n 2 + 1 + n 2 + 1 = n 2 + 1 2 + 2 n n 2 + 1 + n 2 + 1
= n 2 + 1 n 2 + 1 + 2 n + 1 = n 2 + 1 n 2 + 1 + 1 .
Do đó
f 2 n − 1 f 2 n = 2 n − 1 2 + 1 . 2 n 2 + 1 2 n 2 + 1 . 2 n + 1 2 + 1 = 2 n − 1 2 + 1 2 n + 1 2 + 1 .
Suy ra
u n = f 1 f 2 . f 3 f 4 . f 5 f 6 ... f 2 n − 1 f 2 n = 1 2 + 1 3 2 + 1 . 3 2 + 1 5 2 + 1 . 5 2 + 1 7 2 + 1 ... 2 n − 1 2 + 1 2 n + 1 2 + 1
⇒ u n = 2 2 n + 1 2 = 1 2 n 2 + 2 n + 1
⇒ lim n u n = lim n 2 n 2 + 2 n + 1 = 1 2 + 1 n + 1 n 2 = 1 2 .
Hướng dẫn: Chọn đáp án B
Nếu sóng dừng trên dây một đầu cố định một đầu tự do thì các tần số f 1 , 3 f 1 , 5 f 1 , …
Nếu sóng dừng trên dây hai đầu cố định thì các tần số f 1 , 2 f 1 , 3 f 1 , . . .
Như vậy, trong bài toán này thì sợi dây hai đầu cố định nên số nút bằng số bụng cộng 1.
#include <bits/stdc++.h>
using namespace std;
long long n;
int main()
{
freopen("xfibo.inp","r",stdin);
freopen("xfibo.out","w",stdout);
cin>>n;
double c5=sqrt(5);
cout<<fixed<<setprecision(0)<<((1/c5)*(pow((1+c5)/2,n)-pow((1-c5)/2,n)));
return 0;
}