A30496.【递推】【入门】圆环上求素
2024-12-08 09:34:30
发布于:北京
6阅读
0回复
0点赞
#include <bits/stdc++.h>
using namespace std;
int circle[10] = {0, 1, 2, 3, 4, 5, 6, 7, 8, 9},L;
bool isPrime(int n) {
if (n <= 1) return false;
if (n == 2) return true;
if (n % 2 == 0) return false;
for (int i = 3; i * i <= n; i += 2) {
if (n % i == 0) return false;
}
return true;
}
int main(){
cin >> L;
std::vector<int> numbers;
for (int start = 1; start < 10; ++start) {
int num = 0;
for (int i = 0; i < L; ++i) {
num = num * 10 + circle[(start + i) % 10];
}
numbers.push_back(num);
}
bool first = true;
for (int num : numbers) {
if (isPrime(num)) {
if (!first) std::cout << ",";
std::cout << num;
first = false;
}
}
std::cout << std::endl;
return 0;
}
这里空空如也
有帮助,赞一个