1. 程式人生 > >1 -100 100個數組成一個圈, 每隔二個去掉一個數字,這樣一直迴圈,最後剩下哪個數字

1 -100 100個數組成一個圈, 每隔二個去掉一個數字,這樣一直迴圈,最後剩下哪個數字

package com.sort;

import java.util.ArrayList;
import java.util.List;

public class LastOne {
	/**
	 * 
	 * 1 -100   100個數組成一個圈, 每隔二個去掉一個數字,,
	 * 這樣一直迴圈,最後剩下哪個數字 
	 * @param args
	 */
	
	public static void main(String[] args) {
	
		LastOne lo = new LastOne();
	    lo.lastOne(3,100);
		
	}

	private void lastOne(int sp, int max) {
		List list = new ArrayList<Integer>();
		for(int i=1;i<=max;i++){
			list.add(i);
		}
		int index=-1;
		while(list.size()>1){
			index = (index + sp) % list.size();
	        list.remove(index--);
		}
		System.out.println(list.get(0));
	}

}
	
	


相關推薦

1 -100 100個數組成一個 去掉一個數字,這樣一直迴圈最後剩下哪個數字

package com.sort; import java.util.ArrayList; import java.util.List; public class LastOne { /**

執行緒——一個計數器計數到100在每個數字之間暫停110數字輸出一個字串

【16】一個計數器計數到100,在每個數字之間暫停1秒,每隔10個數字輸出一個字串。 public class MyThread extends Thread{ public void run() { for(int i=0;i<100;i++)

c語言實現約瑟夫環-刪除一個剩下

c語言連結串列實現約瑟夫環的程式碼,每隔任意元素刪除一個,逐步輸出各個刪除元素 #include<stdio.h> #include<malloc.h> #include<string.h> #define N 10 struct lno

Shell 指令碼100行插入一條記錄並且記錄第一列包含行號其他列不變

1、例子:每隔100行插入一條記錄,並且此條記錄的第一列包含行號,其他列與第一行相同 #!/bin/sh var="00001" # 變數 cat a.txt|awk 'NR==1'|while read line # 獲取檔案第一行

一個整形陣列中有正數也有負數陣列中連續一個或多組成子陣列個子陣列都有一個求所有子陣列中和的最大值

本文只作為學習筆記,如若侵權請告知,一定及時刪除 題目 輸入一個整型陣列,數組裡有正數也有負數。陣列中一個或者連續的多個整陣列成一個字陣列。求所有字陣列的和的最大值。要求時間複雜度為O(n)。例

輸出是一個文本文件一行第一數字式行標第二數字是輸入文件中一行除行標外數字的平均值

程序 values err size 結構 text rgs int manager 有時候你會遇到這樣的問題:你有一個表格,給出了每個人在十二月,一月和二月的收入。 表格如下: 姓名 一月 二月 三月 楚喬 200 314 3500 宇文玥 200

啟動系統定時器1分鐘/指定時間執行任務 學習筆記

啟動系統定時器每隔1分鐘/指定時間執行 import java.util.Calendar; import java.util.Date; import java.util.Timer; import java.util.TimerTask; public class DemoTimer { //啟

m個人圍成一n個人出列求出列的順序

#include<iostream.h> #include <string.h> #include <malloc.h> #include <stdio.h> #include <stdlib.h> typedef

echarts柱形圖x軸顯示不全一個不顯示的問題

問題原因可能:x軸資料間隔太小; 問題解決:1、調整間隔屬性修改                                &nbs

Mysql資料庫——每天的9點到11點1分鐘執行一次儲存過程

思路分析: 1、看到這個需求,最先想到的是使用Mysql的Event事件做一個定時任務 2、但是寫定時任務時發現,某一天9點到11點每隔一分鐘執行一次儲存過程很容易,但是再加上每天的9點到11點,僅僅用Mysql的事件就做不到了。可能有很多小夥伴會說,我寫個巢狀事件就可以了,寫法為每隔一天的

一個執行緒10秒輸出一次“HelloWorld”輸出10次後退出

public class HelloWorld { public static void main(String[] args) { //建立執行緒要執行的任務 Runnable r1 = new MyRunnable(); //建立執行緒 Thread

linux裝置驅動中重要的3個數據結構 &&Linux裝置驅動模型幾基本資料結構模型:kobjectksetsubsystem

大多數基本的驅動操作涉及到核心的3個重要資料結構:file_operations,file 和inode。 我們已經擁有一些裝置號,但是如何將其與驅動操作連在一起呢?file_operations結構就是這個橋樑,這個結構體定義在<Linux/fs.h>中,它是

opencv中在螢幕上幾秒顯示一個並且儲存點的座標

<span style="font-size:18px;">#include<Windows.h> #include<opencv2/imgproc/imgproc.hpp> #include<opencv2/highgui/hig

每天學習一算法系列(4) (輸入一個整形陣列數組裡有正數也有負數陣列中連續的一個或多整陣列成一個子陣列個子陣列都有一個和)

題目: 輸入一個整形陣列,數組裡有正數也有負數,陣列中連續的一個或多個整陣列成一個子陣列,每個子陣列都有一個和。 求所有子陣列的和的最大值。要求時間複雜度為O(n)。 例如輸入的陣列為1, -2, 3, 10, -4, 7, 2, -5,和最大的子陣列為3, 10, -4,

poj 2828 Buy Tickets(有N個人排隊一個人都有一個val來對應一個後來人都會插入當前隊伍的某一個位置pos。)

Railway tickets were difficult to buy around the Lunar New Year in China, so we must get up early and join a long queue… The Lunar New Year was approachin

java-建立一個執行緒在控制檯不斷輸出當前時間精確到時分秒一秒輸出一次。

對其實現的一個方法是:          採用繼承Thread類 重寫run方法。 import java.text.SimpleDateFormat; import java.util.Date; /** * 建立一個執行緒,在控制檯不斷輸出當前時間,精確到時分秒,

定義一個維陣列內容為三學生的四門課成績求出每個學生四門課的平均分並輸出再求出門課三學生的平均分並輸出!

// 121211 作業1.cpp : 定義控制檯應用程式的入口點。 // /* * Copyright (c) 2012, 煙臺大學計算機學院 * All rights reserved. * 作 者: 劉同賓

輸入銀行卡號4位數字一個空格(小細節)

document.getElementById('bankCardInp').onkeyup = function (event) { var v = this.value; console.log(/\S{5}/.test(v)); conso

WinForm中一段時間(參數)調用一次函數(使用定時器)

pre tick break switch 時間 器) chan pri args 1      System.Windows.Forms.Timer setTimer; //定義一個定時器 2 int flg = 0;

python中將指定的字符串轉換為大寫字母並2字符用空格分割後得到一個新字符串的方法

字符串 分割 python time 技術 dal def mage ret 在例子中對指定的字符串: faa5fbb5fcc5fdd5010200000028000001900000000a002d00000000017d7840000003e800005fa55fb55