K
Khách

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.

10 tháng 8 2023

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;

}

10 tháng 8 2023

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;

}