素數環問題(回溯)

2021-09-13 10:06:17 字數 544 閱讀 1295

素數環問題描述:

問題描述:將從1到n這n個整數圍成乙個圓環,若其中任意2個相鄰的數字相加,結果均為素數,那麼這個環就成為素數環。注:第1個位置恒為1

#include#includeint n;//環內元素個數

int p[10];//p[i]表示第i個位置的元素

//p[1]=1;//第1個位置恒為1

int hash[10]=;//hash[i]表示i是否被訪問

int isprime(int n)//判斷n是否為素數

int check(int index,int x)//檢查第index個位置放置數x是否滿足條件

if(isprime(x+p[index-1])==1)//滿足條件

return 1;

else

return 0;

}void g(int index)//處理第index個位置

for(int x=2;x<=n;++x)

} } }

int main()

素數環問題 回溯法

素數環是乙個電腦程式問題,指的是將從1到n這n個整數圍成乙個圓環,若其中任意2個相鄰的數字相加,結果均為素數,那麼這個環就成為素數環。現在要求輸入乙個n,求n個數圍成一圈有多少種素數環,規定第乙個數字是1。include includeusing namespace std int n 0 int ...

回溯解決素數環問題

素數環是乙個電腦程式問題,指的是將從1到n這n個整數圍成乙個圓環,若其中任意2個相鄰的數字相加,結果均為素數 我們可以根據問題建成乙個根節點為1深度為n的n叉數。通過對解空間的進行回溯剪枝 條件就是相鄰兩元素和為素數以及是否重複使用 就可以得到所有解。public class primering p...

素數環問題 回溯法

素數環是乙個電腦程式問題,指的是將從1到n這n個整數圍成乙個圓環,若其中任意2個相鄰的數字相加,結果均為素數,那麼這個環就成為素數環。現在要求輸入乙個n,求n個數圍成一圈有多少種素數環,規定第乙個數字是1。分析 準備 num紀錄素數環個數 將結果放入快取陣列a,a i 代表第i個資料 設定visit...