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.
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;
}
2:
uses crt;
var a:array[1..100]of integer;
n,i:integer;
begin
clrscr;
write('Nhap n='); readln(n);
for i:=1 to n do
begin
write('A[',i,']='); readln(a[i]);
end;
for i:=1 to n do
if a[i]<0 then write(i:4);
readln;
end.
Uses crt;
var n,i,max,min: integer;
a: array[1..100] of longint;
begin clrscr;
readln(n);
for i:=1 to n do read(a[i]); readln;
max:=a[1];
for i:=1 to n do if(max<a[i]) then max:=a[i];
writeln(max);
min:=a[1];
for i:=1 to n do if(min>a[i]) then min:=a[i];
writeln(min);
readln;
end.
uses crt;
var a:array[1..100] of integer;
max,n,i:integer;
begin
writeln('nhap do dai cua day');readln(n);
for i:=1 to n do begin writeln('A[',i,']=;);readln(a[i]); end;
max:=a[1];
for i:=2 to n do if a[i] > max then begin
max:=a[i]; writeln('vi tri cua max trong day la',i);end;
readln
end.
thật ra thì cũng không cần biến max nhưng mình làm vậy cho dễ hiểu hơn nhé!
*Thuật toán:
-Bước 1: Nhập n và nhập dãy số
-Bước 2: max←a[1]; i←1;
-Bước 3: i←i+1;
-Bước 4: Nếu max<a[i] thì max←a[i];
-Bước 5: Nếu i<=n thì quay lại bước 3
-Bước 6: Cho for chạy từ 1 đến n
Nếu a[i]=max thì xuất i
-Bước 7: Kết thúc
Uses crt;
var max,min,n,i,m,n: longint;
a: array[1..100] of longint
begin clrscr;
for i:=1 to n do begin
if(a[i] mod 2=0) then m:=m+a[i];
if(a[i] mod 2<>0) then n:=n+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;
Writeln('Tong cac phan tu chan: ',m);
Writeln('Tong cac phan tu le: ',n);
Writeln('Phan tu co gia tri lon nhat: ',max);
Writeln('Phan tu co gia tri nho nhat: ',min);
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.
uses crt;
var a:array[1..100]of integer;
i,n,max,dem:integer;
begin
clrscr;
write('Nhap n='); readln(n);
for i:=1 to n do
begin
write('A[',i,']='); readln(a[i]);
end;
for i:=1 to n do
write(a[i]:4);
writeln;
max:=a[1];
for i:=1 to n do
if max<a[i] then max:=a[i];
writeln('So lon nhat la: ',max);
write('Vi tri cua so lon nhat la: ');
for i:=1 to n do
if max=a[i] then write(i:4);
writeln;
dem:=0;
for i:=1 to n do
if max=a[i] then inc(dem);
writeln('So luong phan tu lon nhat trong day la: ',dem);
readln;
end.
uses crt;
var a:array[1..100000000] of int64;
n,i,d,max:longint;
begin
clrscr;
repeat
write('Nhap so luong phan tu: '); readln(n);
if (n<=0) and (n>688886) then writeln('NHAP LAI!');
until (n>0) and (n<=688886);
for i:=1 to n do
begin
write('Nhap phan tu thu ',i,': '); readln(a[i]);
end;
write('Day so vua nhap: ');
for i:=1 to n do write(a[i],' ');
max:=a[1];
for i:=1 to n do if a[i]>max then max:=a[i];
writeln;
writeln('So lon nhat: ',max);
write('Vi tri cua cac so lon nhat: ');
for i:=1 to n do if a[i]=max then begin write(i,' '); inc(d) end;
writeln;
writeln('So luong so lon nhat: ',d);
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]<<" ";
}