L1-050 倒数第N个字符串 (15分)

这题做事做出来了,但是有个点不明白。`

#include<bits/stdc++.h>
using namespace std;

int main(void)
{
    int n,num;
    scanf("%d %d",&n,&num);
    num--;//为什么我要减1啊????
    char ch[26]={'z','y','x','w','v','u','t','s','r','q','p','o','n','m','l','k','j','i','h','g','f','e','d','c','b','a'};
    int tmp=n,place[n];
    while(n--)
    {
        if(n==tmp-1)
        place[n]=num%26;
        else
        place[n]=num%26;
        num=(num-num%26)/26;
    }
    for(int i=0;i<tmp;i++)
    {
        printf("%c",ch[place[i]]);
    }

}
发布了10 篇原创文章 · 获赞 4 · 访问量 268

猜你喜欢

转载自blog.csdn.net/dylan_sjc/article/details/104086671