총 설탕 무게가 주어졌을 때, 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을 넘지 않도록 설정했습니다.
'백준 > c' 카테고리의 다른 글
백준_1929_소수구하기 (0) | 2024.05.12 |
---|---|
백준_10816_숫자카드2 (0) | 2024.05.08 |
백준_24511_queuestack (0) | 2024.05.08 |
백준_12789_도키도키간식드리미 (0) | 2024.05.06 |
백준_10773_제로_(stack) (0) | 2024.05.05 |