설탕 N킬로그램을 배달해야 할 때, 봉지 몇 개를 가져가면 되는지 그 수를 구한다.
#include <iostream>
using namespace std;
int solve(int n)
{
int threes=0; // 3kg 봉지
int fives=n/5; // 5kg 봉지
n%=5;
while(fives>=0) //
{
if(n%3==0) // 3kg으로 나눠질 수 있다면
{
threes=n/3;
n%=3;
break;
}
fives-=1;
n+=5;
}
if(n==0) // 3kg와 5kg로 잘 나누어졌다면
{
return fives+threes;
}
else // 나눌 수 없다면
{
return -1;
}
}
int main()
{
int t;
scanf("%d",&t);
printf("%d",solve(t));
}
3kg 봉지와 5kg 봉지로 n kg을 나누는 문제이다.
우선 5kg 봉지가 얼마나 나오는지 알아보고, 그 수를 줄여가며 3kg 봉지로 나눠질 수 있는지를 알아본다.
딱히 없다.