“按照这个规律知道取出最后一张牌K。”
Sorry,是按照这个规律直到取出最后一张牌K。

解决方案 »

  1.   

    用CStringArray,反正是判断、删除、追加,而且确认不会死循环,
    最后打印出结构就是了,每个组成元素为一个CString="A"或其它值
      

  2.   

    it is easy, 你以第一张为起点进行作就是了,
    如果还做不出,明天我给你写.
      

  3.   

    yakai(日落长河),hfcRabbit(兔子)说说算法?
      

  4.   

    请朋友们帮忙一下,http://www.csdn.net/expert/topic/422/422552.shtm
    急盼你的回复,以解疑惑。
      

  5.   

    #include<stdio.h>void main()
    {
        int p[13];
        int i = 0;
        int k = 0;
        for ( int j = 0; j < 13; j++ )
        {
            p[j] = 0;
        }
        p[0] = 1;
        for ( i = 1; i < 13; i++ )
        {
            for ( ; ; )
            {
                if ( k >= 13 )
                {
                    k = 0;
                }
                if ( p[k] == 0 )
                {
                    k++;
                    break;
                }
                else
                {
                    k++;
                }
            }
            for ( ; ; )
            {
                if ( k >= 13 )
                {
                    k = 0;
                }
                if ( p[k] == 0 )
                {
                    break;
                }
                else
                {
                    k++;
                }
            }
            p[k] = i + 1;
        }    
    }
      

  6.   

    xiaoxiaohan(萧晓寒) 的方法可行,讨论一下用OOP方法,如何分类才最优?
      

  7.   

    #include "stdafx.h"
    int m=13;
    int n=2*m-1;
    int a[100];
    void sort1()

        int cur_blank=n-5,
        cur_insert=n-2;

    while(cur_blank>1)
    {   for(int i=cur_blank, p=cur_insert ;i<cur_insert;i+=2,p++)a[i]=a[p];
    int temp=cur_insert;
    cur_insert=cur_blank;
            cur_blank-=2*(temp-cur_blank);
    }} 
    int main(int argc, char* argv[])
    {   
    for(int i=1,j=1;i<2*m-1;i+=2,j++)a[i]=j;
    a[2*m-1-1]=m;
    sort1();
    for(i=1 ;i<14;i++) printf("%d  ",a[i]);
      return 0 ; 
    }
      

  8.   

    算法描述 见:sword_king(sword_king)