SGU 107 C++ 数论

来源:互联网 发布:从哪买高仿手表知乎 编辑:程序博客网 时间:2024/06/05 05:47

原题是:求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 ;
}   


0 0
原创粉丝点击