我正在構建一個強大的邏輯和隨機化的keygen,並以'部分密鑰驗證'爲基礎。我需要通過旋轉數組來添加另一個隨機函數,但是在Stack Overflow中找到的所有示例都與我的需求不同。具有一個固定值的旋轉陣列
我開始以與陣列:
int[] q = new int[5];
for (int i = 0; i < q.Length; i++)
{
q[i] = i;
}
現在我有:
q[0] = 0;
q[1] = 1;
q[2] = 2;
q[3] = 3;
q[4] = 4;
我需要順時針,但我需要保持一個不變的值,如例如Q [2 ] = 2;
然後第一步應導致(通過加入1順時針+):
q[0] = 1;
q[1] = 3; //bypassed 2nd value
q[2] = 2;
q[3] = 4;
q[4] = 0; //come back to 0
第二步驟應是(通過添加再次+ 1的順時針方向):如果可能我還需要
q[0] = 3; //bypassed 2nd value
q[1] = 4;
q[2] = 2;
q[3] = 0; //come back to 0
q[4] = 1;
回滾功能......非常感謝
感謝雙方的幫助:同時我創建了我的解決方案:
for (int i = 0; i < q.Length; i++)
{
if (i == fixed_int) { } //donothing
else if ((q[i] + 1) == fixed_int) { q[i] = q[i] + 2; }
else if ((q[i] + 1) == (q.Length + 1)) { q[i] = 0; }
else { q[i] = q[i] + 1; }
}
這將失敗時,固定值還沒有2更多的int轉發,但它不是我的情況。請不要使用此代碼,因爲它在某些情況下不起作用。使用接受的答案,因爲它很有趣!
非常有趣的字符旋轉,非常感謝! –