求n位数中,其平方最后9位数为987654321的个数。
一个数的平方的后n位是由该数的后n位相乘得到,于是先打表算出n<=9时的情况,发现n<=8时无解,n=9时有8个数。
于是n=10时,最高位可以是1-9,低9位只能是那8个数。总个数为9× 8=72
n=11时,个数为9*10*8=72*10
n=k时,个数为72*(k-9)
#include<stdio.h>
#define LL long long
int main()
{
LL i,n;
scanf("%lld",&n);
if(n<9) puts("0");
else if(n==9) puts("8");
else
{
printf("72");
for(i=1;i<=n-10;++i) printf("0");
puts("");
}
return 0;
}