原题是:求n位整数中平方的末尾数字为987654321的数的个数 。(1<=n<=1000000)
例如 :当n为9是,9位数111111111的平方为12345678987654321 ,其末尾数字为987654321,符合条件,题设就是求n位数中符合这个规律的数的个数。
先找规律,在9位数时有8个符合条件,8个以下没有符合条件的,9个以上时,由数论知识知,就有9*10^(n-10) *8 个,所以有以下的代码
#include<iostream>
using namespace std ;
int main()
{
int n ;
while(cin>>n)
{
if(n<9)
cout<<'0'<<endl ;
else if(n==9)
cout<<'8'<<endl ;
else
{
cout<<"72";
for(int i=0 ;i<n-10 ;i++)
cout<<'0' ;
cout<<endl ;
}
}
return 0 ;
}