반응형

 

 

<코드>

#include <iostream>
#include <string>
#include <vector>
using namespace std;

long long S, K, ans = 1;
long long tmp1, tmp2;

int main() 
{
    cin >> S >> K;

    tmp1 = S / K;
    tmp2 = S % K;

    for (int i = 0; i < K; i++)
    {
        if (tmp2 > 0)
        {
            ans *= (tmp1 + 1);
            tmp2--;
        }
        else ans *= tmp1;
    }
    cout << ans;
}



 

풀이 방법

 

곱하는 수들의 차이가 더 적을수록 곱의 값이 더 커지므로 이를 이용해 풀이

 

 

www.acmicpc.net/problem/1500

 

1500번: 최대 곱

세준이는 정수 S와 K가 주어졌을 때, 합이 S인 K개의 양의 정수를 찾으려고 한다. 만약 여러개일 경우 그 곱을 가능한 최대로 하려고 한다. 가능한 최대의 곱을 출력한다. 만약 S=10, K=3이면, 3,3,4는

www.acmicpc.net

 

반응형

+ Recent posts