链接:https://ac.nowcoder.com/acm/contest/877/A
来源:牛客网
今天在给
的同学们上程序算法课的时候出了一道找规律的题目,题目表述如下
假设:
现在要求上课的同学们把所有的串依次连接起来,于是得到:
那么你能告诉在
串中的第
个字母是多少吗?
输入首先是一个数字,代表有
次询问
接下来的行每行有一个整数
对于每次询问,输出串中第
个位置对应的字母。
示例1
复制
6 1 2 3 4 5 10
复制
a a b a b d
这道题用到了一点小技巧,总体来说不难
源代码:
#include
#include
int main()
{
int t=0,sum=0,tt=0,n,x;//sum记录在str中字符数量,tt记录str0中字符数量
char str0[10001];
char str[10001];
while(sum<=10000)//这一步是求出长度在10000题目要求的字符串
{
str0[tt++]='a'+t%26;
t++;
str0[tt]='\0';
strcat(str,str0);
sum+=(tt);
}
scanf("%d",&n);
while(n--)
{
scanf("%d",&x);
printf("%c\n",str[x-1]);
}
return 0;
}