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
  • 相关阅读:
    css 自动调整不同 大小的图片变成一定大小
    myeclipse 修改html 报错
    js 中json的使用
    对比两个文件相似度 余弦算法
    andriod 解包
    http post/get 请求
    VXLAN 静态隧道实现同网段通信
    网络设备巡检命令
    IPv6
    Cisco ASA 调整terminal屏幕
  • 原文地址:https://www.cnblogs.com/Roni-i/p/7635131.html
Copyright © 2011-2022 走看看