用数组存储每位上的数
倒序,每次减去1,减去减数个1
不够减(最低位为零),向前借位,如果前一位是零,继续向前借位,直至不是0为止,记为pos,
将pos这位数减去1,其余位置为9
如26#减法
#include <cstdio> using namespace std; int main() { int l,n; int a[6]; for(int i = 0; i < l; i++) { a[i] = 25; } scanf("%d %d",&l,&n); while(n-- > 1) { if(a[l-1] == 0) { for(int i = l-2; i >= 0; i--) { if(a[i] == 0) { continue; } else { a[i]--; for(int j = i+1; j < l-1; j++) { a[j] = 24; } a[l-1] = 25; } break; } } else a[l-1]--; } for(int i = 0; i < l; i++) { printf("%c",a[i]+'a'); } printf(" "); return 0; }