zoukankan      html  css  js  c++  java
  • 12:00的死亡游戏

    图片

     #include<iostream>
    using namespace std;
    int main()
    {
     int n,m,i,j,x[100],a[100],p;
     cout<<"一天漆黑的夜晚,n个人围成一圈玩死亡游戏,约定正北方向为1号死亡点,";
     cout<<"然后由顺时针方向报自己的死亡点,处在第m个死亡点的人会死亡,";
     cout<<"这个人死亡之后他所在的死亡点也就消失了,下一个死亡点成为第1个死亡点,";
     cout<<"一直重复,直到只剩一个人,GOOD LUCK,相信你是能活下来的那个"<<endl;
     cout<<"请输入n和m:"<<endl;
     cin>>n>>m;
     for(i=1;i<=n;i++)
     {
      a[i]=i;
     }
     for(i=1;i<=n;i++)
     {
      if(i*m<=n)
      {
       x[i]=a[i*m];
       a[i*m]=0;
      }
      else
      {
       if(x[i-1]+1>n)
       {
        j=(x[i-1]+1)%n;
       }
       else
       {
        j=x[i-1]+1;
       }
       p=1;
       do
       {
        if(a[j]!=0)
        {
         j++;
         if(j>n)
         {
          j=j%n;
         }
         p++;
        }
        else
        {

         j++;
         if(j>n)
         {
          j=j%n;
         }
        }
       }
       while(p!=m);
       do
       {
        if(a[j]==0)
        {
         j++;
         if(j>n)
         {
          j=j%n;
         }
        }
       }
       while(a[j]==0);
       x[i]=j;
       a[x[i]]=0;
      }
     }
     for(i=1;i<n;i++)
     {
      cout<<"------------------------"<<"第"<<i<<"个死亡的是处在"<<x[i]<<"死亡点的人"<<endl<<endl;
     }
     cout<<"+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++"<<"恭喜:最后活下来的是处在"<<x[n]<<"死亡点的人"<<endl;
     return 0;
    }

  • 相关阅读:
    2017秋-软件工程第三次作业(3)
    第二周例行总结
    2017秋-软件工程第二次作业
    2017秋-软件工程第一次作业
    ORA-01502: 索引或这类索引的分区处于不可用状态
    Merge into使用详解
    SQL2008中Merge的用法
    system表空间用满解决
    Oracle:ORA-00604: 递归 SQL 级别 1 出现错误
    AIX系统上压缩与解压文件
  • 原文地址:https://www.cnblogs.com/zzkgis/p/3742624.html
Copyright © 2011-2022 走看看