N個人圍成一圈數到3(或3的倍數)時出圈,問剩下的人是誰?
**
N個人圍成一圈數到3(或3的倍數)時出圈,問剩下的人是誰?
**
題目解釋:如圖wisjyzxkflm(代表11個人)圍成一個圈,從w開始喊1,接著i喊2,s喊3,j喊1,y喊2,z喊3……l喊1,m喊2。所以第一輪淘汰的是:szf。然後繼續w喊3,i喊1,j喊2……
第一輪:
……
最後得到:x,x為贏家。
值得注意的是:淘汰的人將不再參加遊戲,不再參與排序,同時這也是程式設計的一個小難點(因為下標改變了)。
import java.util.LinkedList;
import java.util.Scanner;
public class Taotai {
public static void main(String[] args) {
System.out.println("請輸入參與遊戲的人:(以英文逗號分隔開)");
Scanner sc=new Scanner(System.in);
String s=sc.next();
String s1[]=s.split(","); //將輸入的以英文逗號分隔開,存入陣列中
LinkedList<String> li=new LinkedList<String>(); //new一個集合
for (int i = 0; i < s1.length; i++) {
li.add(s1[i]);
}
int j=0; //j即是喊的數字
while(li.size()>=2) {
for (int i = 0; i < li.size(); i++) {
j++;
if(j%3==0) {
j=0; //這句可要可不要
li.remove(i);
i-=1; //最重要的一步
}
}
}
System.out.println("贏的人是:"+li);
}
}
執行結果:
相關文章
- n個人圍成一圈,第一個人從1開始數數,數到3的倍數的人離開,最後剩的人是第幾個
- 報數:有n個人做成一圈,按順序1到n編好號。從第一個人開始報數,報到m(m<n)的人退出圈子。如此下去,直到留下最後一個人,輸入整數n和m,並按退出順序輸出退出圈子的人的編號。
- 求1到n範圍內能被5或6或8 整除的數的個數.
- python 輸入一個整數,判斷其是否既是3的倍數,又是5的倍數Python
- 杭電OJ 2028求n個數的最小公倍數
- 判斷一個數N能否同時被3和5整除;
- 連結串列-3n+1數列問題
- 數論學習筆記 (3):因數與倍數筆記
- [20210624]find -mtime +N N -N的時間範圍問題.txt
- 3. 工作分配問題(回溯法)設有n件工作分配給n個人。。。
- 給定一個n,輸出從1到n的整數
- 三層n數3次冪恆等式恆等式
- 人臉識別的「巔峰」之作!甭管整成啥樣,3秒扒出你是誰
- stackoverflow 提問:“計算兩個整數的最小公倍數的最有效方法是什麼?”
- n個骰子的點數
- 在【】1【】2【】3【】4【】5【】6【】7【】8【】9的方格中填上“+”“-”,如果可以使其代數和為n,就稱數n是“可被表出的數“,比如1是可被表出的數,因為+1+2-3-4+5+6-7-8+9
- 求三個數的最小公倍數
- python3 輸出101到200之間的素數,並統計個數Python
- mysql int(3)與int(10)的數值範圍相同嗎?MySql
- 對N個數進行從大到小排序排序
- in_array的第3個引數
- 2022-07-17:1、2、3...n-1、n、n、n+1、n+2... 在這個序列中,只有一個數字有重複(n)。 這
- 指標-n個數的排序指標排序
- 輸入N,再輸入N個數,N
- 9個連續質數2,3,5,7,11,13,17,19,23的三層連環(26):n=3
- 9個連續質數2,3,5,7,11,13,17,19,23的三層連環(4):n=3
- 9個連續質數2,3,5,7,11,13,17,19,23的三層連環(3)n=4
- 統計整數區間[N,M](N,M<100000)中所以非偶數的合數個數,並輸出這個數。
- 技術成長中的3個重要問題
- 數字時代:什麼是資料工程? -Techin3
- js 將負數或小數轉成正整數JS
- php引數3個點的含義PHP
- 行列式求值,從 $n!$ 最佳化到 $n^3$
- 設計一個函式,傳入一個數字n,若n可以被3整除的返回1,可以被5整除返回2,可以被7整除返回3函式
- 設計DFA接受{0,1}上的字串ω,且ω是3倍數的二進位制表示字串
- (3)計數器&時序邏輯
- 3069 求n個整數的和
- 細數Python3大罪!為什麼程式設計能力比我好10倍的人都在誇它?Python程式設計