Educational Codeforces Round 99 A题题解
- 通读题目可知,要求输入一个数,在【1,n】的范围之内,有多少组不同的G(x)值。 由于f(x)相当于是将x的值逆序输出,所以对于g(x)而言,当末尾不为零得情况下g(x)一定等于1,当末尾为零时,函数的值会随末尾零的个数的不同发生变化,例如x=10,110,1000,1100时,函数值分别为10(两种),10(两种),1000(三种),100(三种),所以可推得规律,在【1,n】的范围之内,输入的数字有多少位,函数的值就有多少种,所以可得以下代码。
#include <stdio.h>
#include <string.h>
int main()
{
int n;
scanf("%d",&n);
while (n--)
{
char a[1000000];
scanf("%s",a);
printf("%d\n",strlen(a));
}
}