91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

C++素數環問題怎么解決

c++
小億
138
2023-10-20 00:41:50
欄目: 編程語言

C++素數環問題可以通過回溯算法來解決。以下是一種解決方案的示例代碼:

#include <iostream>
#include <vector>
using namespace std;
bool isPrime(int num) {
if (num < 2) {
return false;
}
for (int i = 2; i * i <= num; i++) {
if (num % i == 0) {
return false;
}
}
return true;
}
void backtracking(int n, vector<int>& nums, vector<bool>& visited) {
if (nums.size() == n && isPrime(nums.front() + nums.back())) {
for (int num : nums) {
cout << num << " ";
}
cout << endl;
return;
}
for (int i = 2; i <= n; i++) {
if (visited[i]) {
continue;
}
if (isPrime(nums.back() + i)) {
visited[i] = true;
nums.push_back(i);
backtracking(n, nums, visited);
nums.pop_back();
visited[i] = false;
}
}
}
void primeRing(int n) {
vector<int> nums;
vector<bool> visited(n + 1, false);
nums.push_back(1);
visited[1] = true;
backtracking(n, nums, visited);
}
int main() {
int n;
cout << "Enter the value of n: ";
cin >> n;
cout << "Prime rings of size " << n << ":" << endl;
primeRing(n);
return 0;
}

以上代碼中,isPrime函數用于判斷一個數是否為素數。backtracking函數使用回溯算法來生成所有可能的素數環,通過遞歸實現。primeRing函數用于初始化起始點,并調用backtracking函數來解決問題。最后,通過用戶輸入的值來執行主函數,輸出所有可能的素數環。

0
东乡县| 会昌县| 铅山县| 紫阳县| 定襄县| 玉田县| 云阳县| 衡南县| 吴江市| 习水县| 桦南县| 屏边| 峡江县| 崇礼县| 吉安市| 阳朔县| 西宁市| 饶河县| 安远县| 慈利县| 东兰县| 峨眉山市| 色达县| 陇南市| 通江县| 巴中市| 宜昌市| 玉山县| 通州区| 万源市| 兴国县| 高阳县| 九龙县| 海宁市| 喀什市| 宣威市| 商都县| 德州市| 新乐市| 泰和县| 台山市|