- S를 K로 나눈 값을 div에, S를 K로 나눈 나머지를 mod에 넣어준다.
- k까지 반복문을 통해서 나머지 갯수만큼 div에 +1한 값을 max와 곱해준다.
- i가 mod보다 크면 max에 div를 곱해준다.
// 백준 Silver2 - 1500(최대곱)
// 문제링크: https://www.acmicpc.net/problem/1500
import java.util.*;
public class Main {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
int S = sc.nextInt(); // 정수 S
int K = sc.nextInt(); // 합이 S인 K개의 정수
int div = S / K;
int mod = S % K;
long max = 1;
for (int i=1; i<=K; i++) {
if(i<=mod) { // 나머지 갯수만큼 +1
max *= (div+1);
}else {
max *= div;
}
}
System.out.println(max);
}
}
간단하게 알고리즘만 구현하면 되여서 생각보다 쉬운 문제였다.