演算法訓練 篩選號碼
時間限制:1.0s 記憶體限制:512.0mb
問題描述
有n個人圍成一圈,順序排號(編號為1到n)。從第1個人開始報數(從1到3報數),凡報到3的人退出圈子。從下乙個人開始繼續報數,直到剩下最後乙個人,遊戲結束。
問最後留下的是原來第幾號的那位。
舉個例子,8個人圍成一圈:
1 2 3 4 5 6 7 8
第1次報數之後,3退出,剩下:
1 2 4 5 6 7 8 (現在從4開始報數)
第2次報數之後,6退出,剩下:
1 2 4 5 7 8 (現在從7開始報數)
第3次報數之後,1退出,剩下:
2 4 5 7 8 (現在從2開始報數)
第4次報數之後,5退出,剩下:
2 4 7 8 (現在從7開始報數)
第5次報數之後,2退出,剩下:
4 7 8 (現在從4開始報數)
第6次報數之後,8退出,剩下:
4 7 (現在從4開始報數)
最後一次報數之後,4退出,剩下:
7.所以,最後留下來的人編號是7。
輸入格式
乙個正整數n,(1輸出格式
乙個正整數,最後留下來的那個人的編號。
樣例輸入
樣例輸出
資料規模和約定
對於100%的資料,1#include struct people
;int main()
begin = end->next;
struct people *p = begin, *q = end;
while (q != p)
q->next = p->next;
free(p);
p = q->next;
}printf("%d", p->id);
free(p);
return 0;
}
藍橋杯 演算法訓練 ALGO12
問題描述 如果乙個序列滿足下面的性質,我們就將它稱為擺動序列 1.序列中的所有數都是不大於k的正整數 2.序列中至少有兩個數。3.序列中的數兩兩不相等 4.如果第i 1個數比第i 2個數大,則第i個數比第i 2個數小 如果第i 1個數比第i 2個數小,則第i個數比第i 2個數大。比如,當k 3時,有...
藍橋杯 ALGO 83 演算法訓練 階乘
問題描述 乙個整數n的階乘可以寫成n 它表示從1到n這n個整數的乘積。階乘的增長速度非常快,例如,13 就已經比較大了,已經無法存放在乙個整型變數中 而35 就更大了,它已經無法存放在乙個浮點型變數中。因此,當n比較大時,去計算n 是非常困難的。幸運的是,在本題中,我們的任務不是去計算n 而是去計算...
藍橋杯 ALGO 33 演算法訓練 數列
演算法訓練 數列 時間限制 1.0s 記憶體限制 256.0mb 問題描述 給定乙個正整數k 3 k 15 把所有k的方冪及所有有限個互不相等的k的方冪之和構成乙個遞增的序列,例如,當k 3時,這個序列是 1,3,4,9,10,12,13,該序列實際上就是 30,31,30 31,32,30 32,...