THPTTD_12 - Fibonaci_tđ2

Xem dạng PDF

Gửi bài giải

Điểm: 7,00 (OI)
Giới hạn thời gian: 1.0s
Giới hạn bộ nhớ: 256M
Input: fibo.inp
Output: fibo.out

Tác giả:
Nguồn bài:
HSG
Dạng bài
Ngôn ngữ cho phép
C, C#, C++, Go, Java, JavaScript, Kotlin, Pascal, Perl, PHP, Python, Ruby, Rust, Scratch, Swift

Trong trường hợp đề bài hiển thị không chính xác, bạn có thể tải đề bài tại đây: Đề bài


Bình luận

Hãy đọc nội quy trước khi bình luận.



  • 0
    hohoanghai5042011  đã bình luận lúc 22, Tháng 3, 2024, 7:44

    #include <iostream>

    #include <vector>

    #include <fstream>

    #include <cmath>

    using namespace std;

    bool isPrime(int n) { if (n <= 1) return false; if (n <= 3) return true;

    if (n % 2 == 0 || n % 3 == 0) return false;
    
    for (int i = 5; i * i <= n; i = i + 6)
        if (n % i == 0 || n % (i + 2) == 0)
            return false;
    
    return true;
    

    }

    int countPrimeFibonacci(int n, int m) { vector<int> fibonacci; fibonacci.pushback(1); fibonacci.pushback(1);

    int count = 0;
    int i = 2;
    while (true) {
        int next = fibonacci[i - 1] + fibonacci[i - 2];
        if (next > m) break;
        fibonacci.push_back(next);
        if (next >= n && next <= m && isPrime(next)) {
            count++;
        }
        i++;
    }
    return count;
    

    }

    int main() { ifstream infile("FIBO.INP"); ofstream outfile("FIBO.OUT");

    int n, m;
    infile >> n >> m;
    
    int result = countPrimeFibonacci(n, m);
    
    outfile << result << endl;
    
    infile.close();
    outfile.close();
    
    return 0;
    

    }