用户输入m只猴子
报数的数字是n
报数时有动作,报到n的猴子出局,并且接着往下从头开始报数,直到选出大王

解决方案 »

  1.   

    #include <iostream>
    using namespace std;
    struct st 
    {
    int value;
    struct st *next;
    };
    main()
    {
    int n,count=0;
    struct st *p,*s,*temp;
    cout<<"请输入n的个数:";
    cin>>n;
    p=new struct st;
    s=p;
    p->value=1;
    for (int i=2;i<=n;i++){
    p->next=new struct st;
    p=p->next;
    p->value=i;
    }
    p->next=s;
    while(s->next!=s){
    count++;
    if(count%2==0){
    temp=s->next;
    s->next=temp->next;
    delete temp;
    }
    s=s->next;
    }
    cout<<s->value<<endl;
    return 0;
    }
      

  2.   

    不好意思,算法我已经有了,重点是mfc,图形模拟,动态的之类的,不太会啊
      

  3.   

    用圆或者矩形表示monkey,用直线或者弧线连接起来组成一个环形的,一次循环删除一个节点,重新刷新图形。
    OnPaint/OnDraw中绘制图形。