JAVA演算法---約瑟夫問題】的更多相关文章

1 public class Josephus { public static int[] arrayOfJosephus( int number, int per) { 3 int[] man = new int[number]; for(int count = 1, i = 0, pos = -1; count <= number; count++) { do { pos = (pos+1) % number; // 環狀處理 if(man[pos] == 0) i++; if(i == p…
約瑟夫問題的兩個O(log n)解法 這個是學習編程時的一個耳熟能詳的問題了: n個人(編號爲0,1,...,n-1)圍成一個圈子,從0號開始依次報數,每數到第m個人,這個人就得自殺, 之後從下個人開始繼續報數,直到所有人都死亡爲止.問最後一個死的人的編號(其實看到別人都死了之後最後剩下的人可以選擇不自殺……). 這個問題一般有兩種問法: 給出自殺順序.不少數據結構初學書都會以這個問題爲習題考驗讀者對線性表的掌握. 比較常見的解法是把所有存活的人組織成一個循環鏈表,這樣做時間複雜度是O(n*m)…
/** * 雞兔同籠問題:窮舉算法思想 */ import java.util.*; public class ChichenAndHabbit { static int chichenNum,habbitNum; public static void main(String[] args) { int head,foot; boolean flag; System.out.println("窮舉算法求解雞兔同籠問題"); System.out.println("請輸入頭數:…
/* * 馬踏棋盤問題:(貪婪法求解) * 棋盤有64個位置,“日”字走法,剛好走滿整個棋盤 */ //下一個走法的方向類 class Direction{ int x; int y; int wayOutNum; } public class Hores_chessboard_1 { static final int[] dx = { -2, -1, 1, 2, 2, 1, -1, -2 }; // x方向的增量 static final int[] dy = { 1, 2, 2, 1, -1…
import java.util.Arrays; publicclass HeapSort { inta[]={49,38,65,97,76,13,27,49,78,34,12,64,5,4,62,99,98,54,56,17,18,23,34,15,35,25,53,51}; public HeapSort(){ heapSort(a); } public void heapSort(int[] a){ System.out.println("開始排序"); int arrayLen…
1 * 快速排序法(Quick Sort),遞迴版本. 2 * 3 * @param array 傳入要排序的陣列 4 * @param start 傳入要排序的開始位置 5 * @param end 傳入要排序的結束位置 6 */ 7 public static void quickSortRecursive(final int[] array, final int start, final int end) { 8 final int x = array[start]; // pivot,以…
關於MacOS虛擬機,在有VMWare重裝,升級以及MacOS更新時,都可能會造成破解補丁失效,因此儅Mac虛擬機無法啓動時,可以嘗試以下操作: 重新運行unlocker208中的win-install.cmd文件 此時會在tools文件夾中生成一個darwin.iso文件 然後編輯虛擬機設置,選擇剛才生成的darwin.iso文件 3.再次嘗試打開虛擬機…
FROM: http://blog.sina.com.cn/s/blog_97ef3ff4010190pe.html#bsh-75-306370781 今天中午經過系統自帶的“檢查更新”軟件從Ubuntu 12.04升級到了12.10,升級完成後出現了Unity不顯示.屏幕左邊和頂端的任務欄無法顯示的問題,糾結了很久,想到了通過Ctrl+Alt+F1進入“終端”,然後在裏面執行“Unity --reset”來復位Unity的辦法,但是系統給出了錯誤提示. 後來通過在桌面上新建一個文件夾,然後進入…
/** * 用遞推算法求解斐波那契數列:Fn = Fn-2 +Fn-1; */ import java.util.*; public class Fibonacci { public static void main(String[] args) { System.out.println("遞推算法求解兔子產子問題"); System.out.println("請輸入時間:"); Scanner input =new Scanner(System.in); int…
在自己的主機上透過 Visual Studio 2013 與 IISExpress 開發與測試都還正常,但只要部署到測試機或正式機,就是沒辦法順利執行,卡關許久之後找我協助.我發現錯誤訊息確實很「一般」,訊息是:「 無法載入檔案或組件 'LinqToExcel' 或其相依性的其中之一. 試圖載入格式錯誤的程式. 」或是英文版的「 Could not load file or assembly 'LinqToExcel' or one of its dependencies. An attempt…