寻一算法解决方案

寻一算法
具体要求

字符串: “1OAA”

不断的累加+1,就是
1OAA
1OAB
1OAC
1OAD
1OAE
...
1OAZ

1OBA
1OBB
1OBC
...
1OBZ

1OCA
...
1OCZ

1ODA



==============================
说明:
后三位:只能为大写字母A---Z  

第一位:数字字符 '1'-----'9' 和 A----Z

----------------------------

字母循环

寻求算法

------解决方案--------------------
C/C++ code
int ADD(char* strIn,int n)
{
    if ( n > 3 || n < 0 )
    {
        return -1;
    }
    if (0 == n)
    {
        
        if ('9' == strIn[0])
        {
            strIn[0] = 'A';
        }    
        else if( ('0' <= strIn[0] &&  '9' > strIn[0])
                || ('A' <= strIn[0] &&  'Z' > strIn[0]) )
        {
            strIn[0]++;
        }
        else /*if('Z' == strIn[0])*/
        {
            strIn[0] = '1';            
        }
        return 0;
    }
    else if( 'A' <= strIn[n] &&  'Z' > strIn[n] )
             
    {
        strIn[n]++;
        return 0;
    }
    else/*if('Z' == strIn[n])*/
    {
        strIn[n] = 'A';    
        return ADD(strIn,n-1);
    }    

}
int main()
{
    
    char szStr[5] = "1OAA";
    cout<<szStr<<endl;
    for (int i = 0;i<200000;i++ )
    {
        ADD(szStr,3);
        cout<<szStr<<endl;
    }

}