zoukankan      html  css  js  c++  java
  • 【Codeforces 1114C】Trailing Loves (or L'oeufs?)

    【链接】 我是链接,点我呀:)
    【题意】

    问你n!的b进制下末尾的0的个数

    【题解】

    证明:https://blog.csdn.net/qq_40679299/article/details/81167283 这题的话m比较大, 做个质因数分解就ok>_< 算n!有多少个x因子的话 以5为例子 (n=25) 25 20 15 10 5 把他们都除5 5 4 3 2 1 然后再除5 1 所以总共有6个 转换成代码就是 while(n>0){ ans+=n/5; n = n/5; }

    【代码】

    import java.io.*;
    import java.util.*;
    
    public class Main {
    	
    	static int N = (int)1e6;
    	static InputReader in;
    	static PrintWriter out;
    		
    	public static void main(String[] args) throws IOException{
    		//InputStream ins = new FileInputStream("E:\rush.txt");
    		InputStream ins = System.in;
    		in = new InputReader(ins);
    		out = new PrintWriter(System.out);
    		//code start from here
    		new Task().solve(in, out);
    		out.close();
    	}
    	
    	static class Task{
    		public void solve(InputReader in,PrintWriter out) {
    			long n,m;
    			n = in.nextLong();m = in.nextLong();
    			ArrayList a = new ArrayList<>();
    			ArrayList d = new ArrayList<>();
    			for (long i = 2;i*i<=m;i++) {
    				if (m%i==0) {
    					a.add(i);
    					int cnt1 = 0;
    					while (m%i==0) {
    						m/=i;
    						cnt1++;
    					}
    					d.add(cnt1);
    				}
    			}
    			if (m>1) {
    				a.add(m);
    				d.add(1);
    			}
    			long ans = (long)1e18 + 100;
    			for (int i = 0;i <(int)a.size();i++) {
    				long ai = (long) a.get(i);
    				int pi = (int) d.get(i);
    				long nn = n;
    				long res = 0;
    				while (nn>0) {
    					res+=nn/ai;
    					nn/=ai;
    				}
    				ans = Math.min(ans, res/pi);
    			}
    			out.print(ans);
    		}
    	}
    
    	
    
    	static class InputReader{
    		public BufferedReader br;
    		public StringTokenizer tokenizer;
    		
    		public InputReader(InputStream ins) {
    			br = new BufferedReader(new InputStreamReader(ins));
    			tokenizer = null;
    		}
    		
    		public String next(){
    			while (tokenizer==null || !tokenizer.hasMoreTokens()) {
    				try {
    				tokenizer = new StringTokenizer(br.readLine());
    				}catch(IOException e) {
    					throw new RuntimeException(e);
    				}
    			}
    			return tokenizer.nextToken();
    		}
    		
    		public long nextLong() {
    			return Long.parseLong(next());
    		}
    		
    		public int nextInt() {
    			return Integer.parseInt(next());
    		}
    	}
    }
    
  • 相关阅读:
    MCS-51系列单片机和MCS-52系列单片机有何异同
    51单片机指令表
    ROM、PROM、EPROM、EEPROM、Flash ROM分别指什么?
    用最简单的办法轻松区分无源晶振和有源晶振
    CE310A
    夏普sharp复印机安装视频及教导
    SHARP AR-2048D/2348D
    SHARP 加粉1
    SHARP 加粉
    SQL SERVER BOOK
  • 原文地址:https://www.cnblogs.com/AWCXV/p/10361188.html
Copyright © 2011-2022 走看看