SGU:107 987654321 problem

来源:互联网 发布:淘宝现在什么好卖2017 编辑:程序博客网 时间:2024/05/04 02:21

问N位的数字有多少个在平方之后末尾数字是987654321.


其实是水题,平方后末尾的数字只与原来数字的几个末尾数字有关。
另外写一个程序算一算,可以发现9位数的时候出现平方之后尾数是987654321的数字,一共有8个.
那么N位的时候,只要末9位是这8个数就可以,其余N-9位可以随意。首位可以写9个数字,中间N-10位可以写10个数字,末尾9位已定。最后答案也就很好写了。

 

比赛的时候把末尾9位有8个想出来了,N大于9的情况却想错了,居然想成9的乘方了,其实用排列组合的数学知识就可以解决啊。还是当时时间不多了而且一题未出,心情太紧张导致的。。。

 


 

#include <cstdio>#include <iostream>#include <cstdlib>#include <cmath>using namespace std;int main(){    int n;    scanf("%d",&n);    if(n<=8) printf("0\n");    else if(n==9) printf("8\n");    else    {        printf("72");        for(int i=1;i<n-9;++i)        printf("0");        printf("\n");    }    return 0;}


 

原创粉丝点击