一道简单的数论。
我这次深刻地吸取了教训,数论题一定要打表看规律。
通过打表,得到了几个平方为987654321的九位数,在九位之下的数一个也没有,然后规律就出来了。
当一个数的平方的末尾符合要求时,无论我们再在这个数前面加什么数,平方的末尾都不会变了。
然后我们打表找规律,九位数有4个,在这4个数前填1-9,是72个十位数。
而在这4个数前填10-99,是720个十一位数,然后规律就明显了,100-999是7200个十一位数······
代码:
#include<iostream>
#include<cstring>
#include<string>
#include<algorithm>
#include<cstdio>
#include<cmath>
#define ll long long
using namespace std;
long long ans;
ll n;
int main()
{
while(cin>>n)
{
// cin>>n;
if(n<9)cout<<'0';
else if(n==9)cout<<'8'<<endl;
else if(n==10)cout<<72<<endl;
else
{
cout<<72;
for(int i=11;i<=n;i++)printf("0");
}
cout<<endl;
}
return 0;
}