本文主要是介绍SCAU:数字字符序列,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
数字字符序列
Time Limit:1000MS Memory Limit:65535K
题型: 填空题 语言: G++;GCC;VC
描述
有一个数字字符序列,它是由各项阶乘1(即1!),2(2!),6(3!),24(4!),120(5!),720(6!),5040(7!), (40320)8!,……(最多到12!)按顺序拼接而成,如下: 12624120720504040320…… 如下程序实现输入一个非0整数N,则输出该字符序列第N个数字字符,直到输入的N为0时结束(N为0时不用输出)
#include <stdio.h>
#include <stdlib.h>
char s[500]={0};
int fanc(int n)
{
return n<2?1:_______________________;
}
int main()
{
int i, t, n, tmp;
t=0;
for(i=12; i>=1; i--)
{
tmp = fanc(i);
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
输出样例
4 1 2
#include <stdio.h>
#include <stdlib.h>char s[500] = {0};int fanc(int n) {return (n < 2) ? 1 : n * fanc(n - 1);
}int main() {int i, t = 0, n, tmp;for (i = 12; i >= 1; i--) {tmp = fanc(i);while (tmp > 0) {s[t++] = (tmp % 10) + '0';tmp /= 10;}}while (scanf("%d", &n), n > 0) {printf("%c\n", s[t - n]);}return 0;
}
这篇关于SCAU:数字字符序列的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!