zoukankan      html  css  js  c++  java
  • JAVA学习日报 8.5

    今天来迫害一下程序设计技能实训的“约瑟夫退圈”

    这东西当时我就没整明白,主要是箭头太多不知道怎么用了,但到了JAVA这些都可以用点来完成。

    代码如下:

    package test2;
    
    import java.util.Scanner;
    
    class node
    {
        public int id;
        public node next;
        public node pro;
    }
    
    final class Class13 {
        static void setlist(node headnode,int n)
        {
            node position;
            position=headnode;
            for(int i=2;i<=n;i++)
            {
                node temp=new node();
                temp.id=i;
                position.next=temp;
                temp.pro=position;
                position=temp;
            }
            position.next=headnode; 
            headnode.pro=position;
        }
        static void cinlist(node headnode,int m,int n,int k) 
        {
            int id=1;
            node position=headnode;
            for(int i=1;i<m;i++) 
            {position=position.next;}
            int sum=0;
            for(;;)
            {
                if(id==k)
                {
                    System.out.print(position.id+" ");
                    position.pro.next=position.next;
                    position.next.pro=position.pro;
                    sum++ ;
                    if(sum==n-1)
                    {
                        position=position.next;
                        break;
                    }
                    id=0;
                }
                position=position.next;
                id++;
            }
            System.out.print(position.id+" ");
        }
        public static void main(String[] args) {
            int n,startid,m;
            Scanner input=new Scanner(System.in);
            System.out.print("输入排圈人数
    ");
            n=input.nextInt();
            System.out.print("输入起始者的ID
    ");
            startid=input.nextInt();
            System.out.print("请输入每次报数的值
    ");
            m=input.nextInt();
            node head;
            head = new node();
            head.id=1;
            setlist(head,n);
            cinlist(head,startid,n,m);
            input.close();
        }
    }

    运行结果如下:

  • 相关阅读:
    ASP.NET MVC 几种 Filter 的执行过程源码解析
    C#中的线程二(BeginInvoke和Invoke)
    C#中的线程一(委托中的异步)
    C#比较dynamic和Dictionary性能
    C#微信公众平台开发—高级群发接口
    js 关闭浏览器
    切图神器 --- Assistor
    切图 -- cutterman
    mac上用teamviewer远程windows输入问题
    A quick introduction to HTML
  • 原文地址:https://www.cnblogs.com/Sakuraba/p/13454651.html
Copyright © 2011-2022 走看看