[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;
        }
    }
}

요약

  • 나머지는 안풀래