• 洛谷 P3927 SAC E#1


    题目描述

    SOL君很喜欢阶乘。而SOL菌很喜欢研究进制。

    这一天,SOL君跟SOL菌炫技,随口算出了n的阶乘。

    SOL菌表示不服,立刻就要算这个数在k进制表示下末尾0的个数。

    但是SOL菌太菜了于是请你帮忙。

    输入输出格式

    输入格式:

    本题包含多组数据。

    每组输入仅包含一行:两个整数n,k。

    输出格式:

    对于每组输入,输出一个整数:n!在k进制下后缀0的个数。

    输入输出样例

    输入样例#1:
    10 40
    输出样例#1:
    2

    说明

    对于20%的数据,n <= 1000000, k = 10

    对于另外20%的数据,n <= 20, k <= 36

    对于60%的数据,n <= 10^15,k <= 10^12

    对于100%的数据,n <= 10^18,k <= 10^16

    【分析】:

     【代码】:

    #include <cstdio>
    #include <algorithm>
    using namespace std;
    
    long long n,k;
    long long ans=0x7fffffffffffffff;
    
    void check(long long i,long long j)
    {
        long long now=0;
        for (long long x=i;x<=n;x*=i) now+=n/x;
        ans=min(ans,now/j);
    }
    
    int main()
    {
        while (~scanf("%lld%lld",&n,&k))
        {
            ans=0x7fffffffffffffff;
            for (long long i=2;i*i<=k;i++)
                if (k%i==0)
                {
                    k/=i;
                    int j;
                    for (j=1;k%i==0;j++)
                        k/=i;
                    check(i,j);
                }
            if (k!=1) check(k,1);
            printf("%lld
    ",ans);
        }
        return 0;    
    } 
    hz
  • 相关阅读:
    Fragment入门代码
    Handler注意事项
    Handler处理消息
    Handler发送消息
    Hander创建消息
    handler四元素
    handler方法
    Handle的特点
    handler定义
    9Patch图
  • 原文地址:https://www.cnblogs.com/Roni-i/p/7635131.html
Copyright © 2020-2023  润新知