Run ID | 作者 | 问题 | 语言 | 测评结果 | 时间 | 内存 | 代码长度 | 提交时间 |
---|---|---|---|---|---|---|---|---|
68347 | teacher_wang | 斐波那契数列里的质数 | C++ | 通过 | 0 MS | 260 KB | 958 | 2025-09-30 16:35:52 |
#include <bits/stdc++.h> using namespace std; int fib[1000010] = {1,1}; int fib_prime[1000010]; // 存储斐波那契中的质数 int p_cnt = 0; // 存储斐波那契中的质数个数 // 判断x是否为质数 bool isPrime(int x) { bool flag = true; // 假设是素数 if(x <= 1) flag = false; for(int i = 2; i <= sqrt(x); i ++) { if(x % i == 0) { return false; } } return true; } // 找到所有费波纳且数 void find_fib(int n) { for(int i = 2; i < n; i ++) { fib[i] = fib[i-1] + fib[i-2]; if(isPrime(fib[i])) { fib_prime[p_cnt] = fib[i]; p_cnt++; } } } // 输出数组 void print_array(int a[], int n) { for(int i = 0; i < n; i ++) cout<<a[i]<<" "; cout<<endl; } int main() { int n; cin>>n; find_fib(n); print_array(fib_prime,p_cnt); print_array(fib,n); return 0; }