[Baekjoon] - 8단계 : 기본 수학 1
1. 손익분기점
#include <stdio.h>
int main() {
int a, b, c;
scanf("%d %d %d", &a, &b, &c);
if (b >= c) {
printf("-1");
return 0;
}
int gap = c - b;
int count = a / gap;
count++;
printf("%d", count);
}
2. 벌집
#include <stdio.h>
int main() {
int n;
scanf("%d", &n);
int sum = 6;
int extent = 1;
int count = 1;
while (extent < n) {
extent += sum;
sum += 6;
count++;
}
printf("%d", count);
}
3. 분수찾기
#include <stdio.h>
#include <stdbool.h>
int main() {
int n;
scanf("%d", &n);
bool right = false;
int sum = 0;
int count = 0;
while (n > sum) {
count++;
sum += count;
right = right ? false : true;
}
int diff = sum - n;
int a = 1 + diff;
int b = count - diff;
if (right) printf("%d/%d", a, b);
else printf("%d/%d", b, a);
}
4. 달팽이는 올라가고 싶다
#include <stdio.h>
#include <math.h>
int main(){
int a,b,v;
scanf("%d %d %d",&a,&b,&v);
double k =(double)(v-b)/(double)(a-b);
int n=floor(k);
if((k-(double)n) != 0) n++;
printf("%d",n);
}
5. ACM 호텔
#include <stdio.h>
int main(){
int t;
scanf("%d",&t);
int h,w,n;
int floor,number;
for(int i=0;i<t;i++){
scanf("%d %d %d",&h,&w,&n);
if(n%h == 0){
n += (n/h-1);
h++;
}
floor = (n%h)*100;
number = (n/h) + 1;
printf("%d\n",(floor+number));
}
}
6. 부녀회장이 될테야
#include <stdio.h>
int memoi();
int memo[15][15] = {0,};
int memoi(int k, int n){
if(memo[k][n] != 0)
return memo[k][n];
return memo[k][n] = memoi(k-1,n) + memoi(k,n-1);
}
int main(){
int t;
scanf("%d\n",&t);
for(int i=0;i<14;i++){
memo[0][i] = i+1;
}
for(int i=0;i<15;i++){
memo[i][0] = 1;
}
int k,n;
for(int i=0;i<t;i++){
scanf("%d",&k);
scanf("%d",&n);
printf("%d\n",memoi(k,n-1));
}
}
7. 설탕 배달
#include <stdio.h>
int main(){
int n;
scanf("%d",&n);
int count = 0;
while(1){
if(n%5==0){
count += n/5;
printf("%d",count);
return 0;
}
n -= 3;
count++;
if(n < 0){
printf("-1");
return 0;
}
}
}
요약
- 나머지는 안풀래