약간의 고민이 필요한 문제입니다. 해당 문제에서 고려해야할 점은
- 10일 마다 증가하는 시급의 값을 어떻게 계산할 것인가
- 충분한 돈을 벌 때 까지의 날 수를 어떻게 추적할 것인가
이렇게 두가지로 볼 수 있습니다. 이 점을 유의하면서 다음 코드를 보시기 바랍니다.
#include <stdio.h>
int T, N;
int main() {
scanf("%d", &T);
while (T--) {
scanf("%d", &N);
int days = 0; // 며칠이 지났는지 저장하는 변수입니다
int earned = 0; // 현재까지 얼마나 벌었는지 저장하는 변수입니다
while (earned < N) { // 번 돈이 필요한 돈 보다 적다면 계속 일을합니다
earned += 5000 + (days / 10) * 200; // 기본 5000원 시급에 오른 임금을 계산하여 더해줍니다
days++; // 하루가 지났으므로 days 변수를 1 증가시켜 줍니다
}
printf("%d\n", days);
}
return 0;
}
수식을 이용해서 인상된 시급을 계산할 수도 있지만, 다음과 같이 10째 날 마다 현재 시급에 200원을 더하는 방법도 있습니다.
#include <stdio.h>
int main() {
int t;
scanf("%d", &t);
while (t--) {
int price;
scanf("%d", &price);
int day = 0, sum = 0, alba = 5000;
while (1) {
day++;
sum += alba;
if (day % 10 == 0)
alba += 200;
if (sum >= price) {
printf("%d\n", day);
break;
}
}
}
return 0;
}