求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;
}