自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

用Java實現(xiàn)約瑟夫環(huán)

開發(fā) 后端
約瑟夫環(huán)是一個數(shù)學的應用問題:已知n個人(以編號1,2,3...n分別表示)圍坐在一張圓桌周圍。從編號為k的人開始報數(shù),數(shù)到m的那個人出列;他的下一個人又從1開始報數(shù),數(shù)到m的那個人又出列;依此規(guī)律重復下去,直到圓桌周圍的人全部出列。

什么是約瑟夫環(huán)呢?

約瑟夫環(huán)是一個數(shù)學的應用問題:已知n個人(以編號1,2,3...n分別表示)圍坐在一張圓桌周圍。從編號為k的人開始報數(shù),數(shù)到m的那個人出列;他的下一個人又從1開始報數(shù),數(shù)到m的那個人又出列;依此規(guī)律重復下去,直到圓桌周圍的人全部出列。

我們用程序說話,實現(xiàn)約瑟夫環(huán)

  1. import java.util.Scanner; 
  2.  
  3. public class Josephus { 
  4.     private static class Node { 
  5.         public int no;// 編號 
  6.         public Node next;// 下一個節(jié)點 
  7.  
  8.         public Node(int no) { 
  9.             this.no = no; 
  10.         } 
  11.     } 
  12.  
  13.     public static void main(String[] args) { 
  14.         Scanner scanner = new Scanner(System.in); 
  15.         System.out.print("請輸入總人數(shù):"); 
  16.         int totalNum = scanner.nextInt(); 
  17.         System.out.print("請輸入報數(shù)的大?。?quot;); 
  18.         int cycleNum = scanner.nextInt(); 
  19.         Node header = new Node(1); 
  20.         Node pointer = header; 
  21.         for (int i = 2; i <= totalNum; i++) { 
  22.             pointer.next = new Node(i); 
  23.             pointer = pointer.next; 
  24.         } 
  25.         pointer.next = header; 
  26.         // 初始化環(huán)形鏈表結束 
  27.         System.out.println("以下是出列的順序:"); 
  28.         while (pointer != pointer.next) { 
  29.             for (int i = 1; i < cycleNum; i++) { 
  30.                 pointer = pointer.next; 
  31.             } 
  32.             System.out.println(pointer.next.no); 
  33.             pointer.next = pointer.next.next; 
  34.         } 
  35.         System.out.println(pointer.next.no); 
  36.     } 

原文鏈接:http://tanlan.iteye.com/blog/1159502

【編輯推薦】

  1. Java 8整裝待發(fā) 圖謀云計算
  2. Java 7是蜜糖還是毒藥?
  3. 選用Ibatis和Hibernate的區(qū)別
  4. JRuby和Java 7 我們可以期待什么
  5. 關于Eclipse使用64位Java 7崩潰的問題
責任編輯:艾婧 來源: tanlan的博客
相關推薦

2009-08-11 13:54:54

約瑟夫環(huán)算法C#算法

2021-04-08 19:20:58

循環(huán)鏈表模擬

2015-07-17 10:07:33

JAVA數(shù)字水印

2015-06-10 15:36:47

環(huán)信移動客服

2022-08-11 08:03:43

隊列

2023-02-06 09:00:54

2011-06-16 09:15:24

光纖收發(fā)器交換機環(huán)網(wǎng)

2021-03-11 08:53:20

Java數(shù)據(jù)結構算法

2021-03-27 11:02:04

JavaScript隊列編程語言

2020-10-29 08:31:15

Java同步回調(diào)編程語言

2020-06-16 16:25:05

C++JavaPython

2012-06-25 12:33:12

Java日志切割

2012-02-13 13:36:27

Java

2024-08-05 09:42:54

2015-07-30 16:18:14

企業(yè)網(wǎng)D1Net

2009-06-30 15:19:00

阻塞讀取遠程文件Java多線程

2009-06-19 14:23:41

RMIJava分布式計算

2020-07-25 19:40:33

Java開發(fā)代碼

2011-12-15 10:56:55

JavaNIO

2020-05-09 09:59:52

Python數(shù)據(jù)土星
點贊
收藏

51CTO技術棧公眾號