zoukankan      html  css  js  c++  java
  • 洛谷 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
  • 相关阅读:
    客户端验证用户名和密码
    特殊日期提示
    python 多态这一部分的知识点相关应用
    类的继承
    栈,队列的应用
    生成器与for循环的纠葛
    类(class)的形成过程
    报错信息看着哇
    死脑筋要活用(我只放贴图)01
    正则运算跟py语言的结合,知识点层出不穷
  • 原文地址:https://www.cnblogs.com/Roni-i/p/7635131.html
Copyright © 2011-2022 走看看