응애개발자
article thumbnail
728x90

문제

https://www.acmicpc.net/problem/15996

 

접근 방법

  1. N이 팩토리얼로 주어졌을때 A로 최대 몇승까지 나눌수 있는지에 대한 문제이다.
  2. 간단하게 N/A + N/(A*A) ...형식으로 K를 구할 수 있다.

코드

import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.util.StringTokenizer;

public class Main {
    private static StringBuilder sb;
    private static BufferedReader br;
    private static StringTokenizer st;
    private static long N,A;
    private static int count;

    //입력
    public static void input() throws Exception {
        br = new BufferedReader(new InputStreamReader(System.in));
        sb = new StringBuilder();
        st = new StringTokenizer(br.readLine());

        N = Long.parseLong(st.nextToken());
        A = Long.parseLong(st.nextToken());
    }

    //실행
    public static void process() {
        for(long i = A ; i <= N ; i*=A){
            count+=N/i;
        }
        System.out.println(count);
    }


    public static void main(String[] args) throws Exception {
        input();
        process();
    }
}

 

profile

응애개발자

@Eungae-D

포스팅이 좋았다면 "좋아요❤️" 또는 "구독👍🏻" 해주세요!