寻一算法解决方案
寻一算法
具体要求
字符串: “1OAA”
不断的累加+1,就是
1OAA
1OAB
1OAC
1OAD
1OAE
...
1OAZ
1OBA
1OBB
1OBC
...
1OBZ
1OCA
...
1OCZ
1ODA
==============================
说明:
后三位:只能为大写字母A---Z
第一位:数字字符 '1'-----'9' 和 A----Z
----------------------------
字母循环
寻求算法
------解决方案--------------------
具体要求
字符串: “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; } }