SCAU:数字字符序列2
数字字符序列
Time Limit:1000MS Memory Limit:65535K
题型: 填空题 语言: G++;GCC;VC
描述
有一个数字字符序列,它是由平方数1,4,9,16,25,36,49,64,81,……(最多到9999的平方)按顺序拼接而成,如下: 149162536496481…… 如下程序实现输入一个非0整数N,则输出该字符序列第N个数字字符,直到输入的N为0时结束(N为0时不用输出)
#include <stdio.h>
#include <stdlib.h>
char s[100000]={0};
int main()
{
int i, t, n, tmp;
t=0;
for(i=9999; i>=0; i--)
{
tmp = _______________________;
while(tmp>0)
{
s[t++]=_______________________;
tmp/=10;
}
}
while(scanf("%d", &n), n>0)
{
printf("%c\n", s[t-n]);
}
return 0;
}
输入格式
每行一个整数,最后一行是0
输出格式
每一行输出第N个数字字符
输入样例
5 1 10
输出样例
6 1 4
#include <stdio.h>
#include <stdlib.h>
char s[100000] = {0};
int main() {
int i, t, n, tmp;
t = 0;
for (i = 9999; i >= 0; i--) {
tmp = i * i; // 计算当前数字的平方
while (tmp > 0) {
s[t++] = tmp % 10 + '0'; // 将平方数字的每一位存储在字符数组中
tmp /= 10;
}
}
while (scanf("%d", &n), n > 0) {
printf("%c\n", s[t - n]); // 输出第N个数字字符
}
return 0;
}