Vẽ thuật toán và viết chương trình tính và in ra số Fibonaci F(n) với n nhập từ bàn phím. Biết F(n) = F(n-1) + F(n-2), cho trước F(1) = 1; F(2) = 1;
Gợi ý: Viết hàm số tính Fib(n) trả về giá trị số Fibonaci thứ n.
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.
program fibonaci;
uses crt;
var f:array[1..100]of integer;
n,i,j:integer;
begin
clrscr;
write('n='); readln(n);
f[1]:=1;
f[2]:=1;
i:=2;
repeat
inc(i);
f[i]:=f[i-1]+f[i-2];
until i=n;
writeln(n,' so fibonaci dau tien la: ');
for i:=1 to n do
write(f[i]:4);
readln;
end.
2:
#include <bits/stdc++.h>
using namespace std;
int A[100],ln,nn,vt1,vt2,n;
int main()
{
cin>>n;
for(int i=1; i<=n; i++) cin>>A[i];
ln=A[1];
for (int i=1; i<=n; i++)
ln=max(ln,A[i]);
nn=A[1];
for (int i=1; i<=n; i++)
nn=min(nn,A[i]);
vt1=1; vt2=n;
for (int i=1; i<=n; i++)
if (ln==A[i] && vt1<=i) vt1=i;
for (int i=n; i>=1; i--)
if (nn==A[i] && vt2>=i) vt2=i;
swap(A[vt1],A[vt2]);
for (int i=1; i<=n; i++)
cout<<A[i]<<" ";
}
Câu 6:
uses crt;
var n,i:integer;
begin
clrscr;
readln(n);
for i:=1 to n do
if n mod i=0 then write(i:4);
readln;
end.
5:
uses crt;
var n,i,dem:integer;
begin
clrscr;
readln(n);
dem:=0;
for i:=0 to n do
if i mod 2=1 then
begin
write(i:4);
dem:=dem+1;
end;
writeln;
writeln(dem);
readln;
end.
Bài 1:
uses crt;
var a:array[1..100]of integer;
i,n,min:integer;
begin
clrscr;
write('n='); readln(n);
for i:=1 to n do
begin
write('A[',i,']='); readln(a[i]);
end;
min:=a[1];
for i:=1 to n do
if min>a[i] then min:=a[i];
writeln(min);
readln;
end.
Bài 2:
uses crt;
var a:array[1..100]of integer;
i,n,max:integer;
begin
clrscr;
write('n='); readln(n);
for i:=1 to n do
begin
write('A[',i,']='); readln(a[i]);
end;
max:=a[1];
for i:=1 to n do
if max<a[i] then max:=a[i];
writeln(max);
readln;
end.
Bài 2:
#include <bits/stdc++.h>
using namespace std;
long long x,y;
int main()
{
cin >>x>>y;
cout<<x<<" "<<y;
swap(x,y);
cout<<x<<" "<<y;
return 0;
}
Câu 1: Tính số fibonaci thứ N. biết f(1)= 1; f(2) = 1; f(N)=f(N-2)+F(N-1)
#include <iostream>
int fibonacci(int n) {
if (n <= 2) {
return 1;
}
int prev = 1;
int current = 1;
int fib;
for (int i = 3; i <= n; i++) {
fib = prev + current;
prev = current;
current = fib;
}
return fib;
}
int main() {
int N;
std::cin >> N;
int result = fibonacci(N);
std::cout << "Số Fibonacci thứ " << N << " là: " << result << std::endl;
return 0;
}
Câu 2: Cho dãy a gồm m số nguyên (|ai| <=10), dãy b gồm n số nguyên (bị <=10). 2 dãy này đã được sắp xếp không giảm. Hãy in ra một dãy c có các phần tử gồm 2 dãy số trên cũng được sắp xếp không giảm.
#include <iostream>
#include <vector>
std::vector<int> mergeArrays(const std::vector<int>& a, const std::vector<int>& b) {
std::vector<int> c;
int i = 0;
int j = 0;
while (i < a.size() && j < b.size()) {
if (a[i] <= b[j]) {
c.push_back(a[i]);
i++;
} else {
c.push_back(b[j]);
j++;
}
}
while (i < a.size()) {
c.push_back(a[i]);
i++;
}
while (j < b.size()) {
c.push_back(b[j]);
j++;
}
return c;
}
int main() {
int m, n;
std::cin >> m >> n;
std::vector<int> a(m);
std::vector<int> b(n);
for (int i = 0; i < m; i++) {
std::cin >> a[i];
}
for (int i = 0; i < n; i++) {
std::cin >> b[i];
}
std::vector<int> c = mergeArrays(a, b);
std::cout << "Dãy c sau khi sắp xếp không giảm là:" << std::endl;
for (int i = 0; i < c.size(); i++) {
std::cout << c[i] << " ";
}
std::cout << std::endl;
return 0;
}
Câu 2:
a) Mô tả thuật toán
-Bước 1: Nhập n và nhập dãy số
-Bước 2: dem←0; i←1; t←0;
-Bước 3: Nếu a[i] mod 2=0 thì dem←dem+1 và t←t+a[i];
-Bước 4: i←i+1;
-Bước 5: Nếu i<=n thì quay lại bước 3
-Bước 6: Xuất t và dem
-Bước 7: Kết thúc
Câu 2:
b) uses crt;
var a:array[1..100]of integer;
i,n,t,dem:integer;
begin
clrscr;
write('Nhap n='); readln(n);
for i:=1 to n do
begin
write('A[',i,']='); readln(a[i]);
end;
t:=0;
dem:=0;
for i:=1 to n do
if a[i] mod 2=0 then
begin
t:=t+a[i];
inc(dem);
end;
writeln('So so chan la: ',dem);
writeln('Tong cac so chan la: ',t);
readln;
end.
#include <bits/stdc++.h>
using namespace std;
long long n;
int main()
{
freopen("fibonacci.inp","r",stdin);
freopen("fibonacci.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;
}