题目链接:https://ac.nowcoder.com/acm/contest/877/A
时间限制:C/C++ 1秒,其他语言2秒
空间限制:C/C++ 262144K,其他语言524288K
64bit IO Format: %lld

题目描述

今天在给
的同学们上程序算法课的时候出了一道找规律的题目,题目表述如下
假设:

现在要求上课的同学们把所有的串依次连接起来,于是得到:

那么你能告诉串中的第个字母是多少吗?

输入描述

输入首先是一个数字,代表有次询问
接下来的行每行有一个整数

输出描述

对于每次询问,输出串中第个位置对应的字母。

输入

6
1
2
3
4
5
10

输出

a
a
b
a
b
d

解题思路

题意:定义一个字符串,求第n个字符是什么.
思路:模拟一下就行了,把前缀都减去,求出Si串,然后就判断是哪一个字符就行了。

#include <bits/stdc++.h>
using namespace std;
int main() {
    int t, n;
    scanf("%d", &t);
    while (t--) {
        scanf("%d", &n);
        for (int i = 1; i < n; i++)
            n -= i;
        n = (n - 1) % 26;
        printf("%c\n", n + 'a');
    }
    return 0;
}