题目大意:
求所有的N位数中平方的后缀为987654321的数有多少个
很简单的道理就是如果x的平方的后缀为987654321,那么以x为后缀的所有数的平方的后缀都是987654321
然后自己手测一下1-10^9以内的数平方后缀为987654321的数有哪些
很幸运的是,都是九位数,不然又会蛋疼一点
111111111119357639
380642361
388888889
611111111
619357639
880642361
888888889
至此问题已经解决
//Lib #include<cstdio> #include<cstring> #include<cstdlib> #include<cmath> #include<ctime> #include<iostream> #include<algorithm> #include<vector> #include<string> #include<queue> using namespace std; //Macro #define rep(i,a,b) for(int i=a,tt=b;i<=tt;++i) #define rrep(i,a,b) for(int i=a,tt=b;i>=tt;-- #define erep(i,e,x) for(int i=x;i;i=e[i].next) #define irep(i,x) for(__typedef(x.begin()) i=x.begin();i!=x.end();i++) #define read() (strtol(ipos,&ipos,10)) #define sqr(x) ((x)*(x)) #define pb push_back #define PS system("pause"); typedef long long ll; typedef pair<int,int> pii; const int oo=~0U>>1; const double inf=1e20; const double eps=1e-6; string name="",in=".in",out=".out"; //Var int n; void Work() { scanf("%d",&n); if(n<9)cout<<0<<endl; else if(n==9)cout<<8<<endl; else { printf("72"); rep(i,11,n)printf("0"); puts(""); } } int main() { // freopen((name+in).c_str(),"r",stdin); // freopen((name+out).c_str(),"w",stdout); // Init(); Work(); return 0; }