zoukankan      html  css  js  c++  java
  • 【分治】魔法石的诱惑

    问题 C: 【分治】魔法石的诱惑

    时间限制: 1 Sec  内存限制: 128 MB
    提交: 88  解决: 37
    [提交] [状态] [讨论版] [命题人:admin]

    题目描述

    修罗王远远地看见邪狼狂奔而来,问道:“慌慌张张地跑什么?” 邪狼大口大口地喘气:“我路过一家魔法石店,看到摆着那么多高阶魔法石,我就跑进去抢了一大袋。” 修罗王怒道:“光天化日,朗朗乾坤,众目睽睽之下,你也敢抢?” 邪狼:“我抢魔法石的时候,压根儿就没看见人,眼里只看见魔法石了。” 修罗王:“……” 其实邪狼的贪婪很容易理解,因为高阶魔法石有一个特征,即它的重量进行阶乘运算后末尾有几个0,就拥有同等重量普通魔法石几倍的魔法力。例如5!=5×4×3×2×1=120,而120结尾包含1个零,这意味着该魔法石拥有同等重量的普通的魔法石1倍的魔法力。你的任务是找到最小自然数N,使N!在十进制下包含Q个零。

    输入

    一个数Q(0≤Q≤108

    输出

    如果误解,输出“No solution”,否则输出N。

    样例输入

    2
    

    样例输出

    10
    
     1 #include <iostream>
     2 
     3 using namespace std;
     4 typedef long long ll;
     5 ll get_minn(ll x)
     6 {
     7     ll ans=0;
     8     while(x>0)
     9     {
    10         ans+=x/5;
    11         x/=5;
    12     }
    13     return ans;
    14 }
    15 int main()
    16 {
    17     ll q;
    18     cin>>q;
    19     if(q==0)
    20     {
    21         cout<<"0"<<endl;
    22         return 0;
    23     }
    24     ll n=0,temp=0;
    25     while(temp<q)
    26     {
    27         n+=5;
    28         temp=get_minn(n);
    29     }
    30     if(temp>q)
    31         cout<<"No solution"<<endl;
    32     else if(temp==q)
    33         cout<<n<<endl;
    34 //    cout << "Hello world!" << endl;
    35     return 0;
    36 }
    View Code
    
    
    如有错误,请指正,感谢!
  • 相关阅读:
    Python入门6 —— 流程控制
    Python入门5 —— 基本运算符
    Python入门4 —— 输入与输出
    实用小工具 下载链接
    [笔记] BGP in the Data Center (O'Reilly 2017)
    数据中心网络:Spine-Leaf 架构设计综述(2016)
    Using Open vSwitch* with DPDK for Inter-VM NFV Applications
    hung_task
    TCPDUMP and IPv6 and perf trace --no-syscalls
    Go非缓冲/缓冲/双向/单向通道
  • 原文地址:https://www.cnblogs.com/scott527407973/p/9306844.html
Copyright © 2011-2022 走看看