백준/c
백준_2839_설탕배달
S0LL
2024. 5. 8. 17:22
총 설탕 무게가 주어졌을 때, 3kg 봉지와 5kg 봉지를 각각 몇 개 사용하면 가장 적은 포대로 옮길 수 있는지 구하는 문제입니다.
입력받는 설탕의 무게를 n, 3kg 봉지의 개수를 x, 5kg 봉지의 개수를 y 라고 했을 때,
3x + 5y = n 의 방정식을 풀면 됩니다.
n은 주어졌기 때문에 x 와 y 에 하나씩 대입해가며 구하면 될 것 같습니다.
범위가 크지 않기 때문에 하나씩 대입해서 풀어도 상관 없을 것 같습니다.
전체 코드)
#include <stdio.h>
int main(void)
{
int sugar = 0;
scanf("%d", &sugar);
int x = 0, y = 0;
int check = 0;
for (int x = 0; x < 1333; x++)
{
for (int y = 0; y <= 1000; y++)
{
if (3 * x + 5 * y == sugar)
{
check++;
printf("%d\n", x + y);
return 0;
}
}
}
if (check == 0)
{
printf("-1\n");
}
return 0;
}
x와 y의 범위는 문제에서 주어진 조건에 따라 5000을 넘지 않도록 설정했습니다.