728x90
문제
https://www.acmicpc.net/problem/15996
접근 방법
- N이 팩토리얼로 주어졌을때 A로 최대 몇승까지 나눌수 있는지에 대한 문제이다.
- 간단하게 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();
}
}
'코딩테스트 > 백준' 카테고리의 다른 글
[Java] 백준 11728번 : 배열 합치기 (0) | 2024.05.23 |
---|---|
[Java] 백준 6219번 : 소수의 자격 (0) | 2024.05.21 |
[Java] 백준 9417번 : 최대GCD (0) | 2024.05.21 |
[Java] 백준 1990번 : 소수인팰린드롬 (0) | 2024.05.18 |
[Java] 백준 23888번 : 등차수열과 쿼리 (0) | 2024.05.17 |