zoukankan      html  css  js  c++  java
  • 约瑟夫环->循环报数问题

    约瑟夫游戏的大意:30个游客同乘一条船,因为严重超载, 加上风浪大作,危险万分。因此船长告诉乘客,只有将全船 一半的旅客投入海中,其余人才能幸免于难。无奈,大家只 得同意这种办法,并议定30 个人围成一圈,由第一个人数起,依次报数,数到第9人,便把他投入大海中,然后再从 他的下一个人数起,数到第9人,再将他投入大海中,如此 循环地进行,直到剩下 15 个游客为止。问:哪些位置是将 被扔下大海的位置?

    #include<bits/stdc++.h>
        using namespace std;
        int main()  
        {  
            int n, m,i,s=0;  
            cin>>n; //总人数
            cin>>m; //m个一个报数循环(注意参数下标问题)
            for(i=2;i<=n;i++)  
                s=(s+m)%i;  
            printf("%d", s+1);  
            return 0;  
        }
    
  • 相关阅读:
    代理模式
    适配器模式
    原型模式
    创建者模式
    装饰模式
    web总结
    4.14
    4.14
    POJ2385
    POJ2229
  • 原文地址:https://www.cnblogs.com/AmosAlbert/p/12832267.html
Copyright © 2011-2022 走看看