素數環問題
問題描述:演算法基本思路還是比較簡單的,首先將第乙個數放到儲存資料的陣列的0索引處,將資料1~n放入含有n個節點的環,保證任意相鄰的兩個數的和為素數。
接著開始放索引1的值一直放到n-1處,但是在這個過程中:
①注意放的時候是否會有重複
②放的時候是否滿足和為素數的條件
如果上面條件都滿足了就進入下乙個位置填寫,如果不滿足就回退,直到全部填完為止。
**實現:
import org.junit.test;
/** * @author jacktan
*/public
class
maintest
}public
int[
]primecircle
(int n)
}//如果a[k]=n+1說明要回退,如果a<=n說明繼續下一步
if(a[k]
!=n+1)
else
}else
}return a;
}//判斷是否滿足要求
boolean
check
(int
a,int k)
//判斷是否重複
for(
int i=
0;i//判斷首尾是否滿足要求
if(k==a.length-1)
}return
true;}
//判斷是不是素數
boolean
isprime
(int n)
}return
true;}
}
輸出結果:
123
4765
891013
1615
1417
2011
1219
18
揭秘四處碰壁小球之命運
有這麼乙個問題,初看起來人畜無害,但細思極恐,和大家分享。將小球的速度分解為沿x軸的v x和沿y軸的v y。因正方形邊長等於1,不妨令v x eb a,v y fb b。小球可以從e左側或者右側返回。從e左側返回時,小球沿兩軸走過的路程都是偶數。寫成方程就是 frac frac,m,n in mat...
演算法 回溯法 0 1揹包問題
fishing pan 回溯法是一種非常有效的方法,有 通用的解題法 之稱。它有點像窮舉法,但是更帶有跳躍性和系統性,他可以系統性的搜尋乙個問題的所有的解和任一解。回溯法採用的是深度優先策略。回溯法解決問題一般分為三個步驟 1 針對所給問題,定義問題的解空間 2 確定易於搜尋的解空間結構 3 以深度...
演算法實驗 回溯法求解0 1揹包問題
通過剪枝和衝突,走遍所有可能的選擇,最終得到最優解 1 每個節點有兩種選擇方法,依次對所有可能的方法進行遍歷 2 在遍歷的過程中通過設定一全域性變數用來比較所有的解法的結果,最終得到最優解 lagestv 0bestx 1 2 def jianzhi i,n,c,w,ww if i n return...