Trailing Zeroes (I) LightOJ - 1028

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Trailing Zeroes (I) LightOJ - 1028相关的知识,希望对你有一定的参考价值。

?????????++   scan   ??????   pac   algo   ??????   span   ace   color   

????????????????????????????????????????????????????????????????????????????????????1?????????????????????????????????????????????????????????????????????????????????TL???????????????????????????????????????

?????????????????????1???????????????????????????

?????????????????????n???n=P1^a1 * P2^a2 * P3^a3 *??????Pn^an???

???????????????n???????????????m?????????ai????????????????????????????????????????????????????????????????????????Pi???????????????????????????pi???????????????ai????????????????????????????????????????????????n??????????????????????????????????????????

???????????????????????????sum=???1+a1???*???1+a2???*???1+a3?????????*???1+an??????

???????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????

AC???????????????

#include<stdio.h>
#include<string.h>
#include<math.h>
#include<algorithm>
using namespace std;
int pri[1000001];
int tt[1000001];
int s=0;
void dabiao() //????????????????????????????????????
{   int j;
    memset(tt,0,sizeof(tt));
    tt[1]=1;
    tt[0]=1;
    for(int i=2;i<=1000000;i++)
    {
        if(tt[i]!=1)
        {
            pri[s++]=i;
            for(j=i+i;j<=1000000;j+=i)
                tt[j]=1;
        }
    }
    return ;
}
int main()
{
    int m,i,j,k,t,cas=0;
    long long n,num,ans;
    scanf("%d",&t);
    dabiao();
    while(t--)
    {
        scanf("%lld",&n);
        num=1;
        for(i=0;i<s&&pri[i]*pri[i]<=n;i++)
        {
            ans=0;
            if(n%pri[i]==0)
            {

                while(n%pri[i]==0)//???????????????????????????N?????????????????????????????????SUM
                {
                    ans++;
                    n/=pri[i];
                }

            }
        num=num*(ans+1);
        }
            if(n>1)//?????????????????????????????????????????????
            num*=2;
        printf("Case %d: %lld\n",++cas,num-1);
    }
    return 0;
}

 

以上是关于Trailing Zeroes (I) LightOJ - 1028的主要内容,如果未能解决你的问题,请参考以下文章

light oj 1138 - Trailing Zeroes (III)(阶乘末尾0)

Trailing Zeroes (I) LightOJ - 1028

lightoj-1028 - Trailing Zeroes (I)(素数法求因子个数)

LightOJ - 1028 Trailing Zeroes (I)

LeetcodeFactorial Trailing Zeroes

172. Factorial Trailing Zeroes