본문 바로가기
PROGRAMMING CODE/C

[BAEKJOON] No.1094 C언어

by daye_ 2021. 10. 19.

막대기

 

#include <stdio.h>
int check(int n,int *bar){
    for(;;){
        if(n>=*bar) return *bar; //막대의 크기가 n보다 크거나 같다면 그대로 return (초기의 연산)
        *bar/=2;
        if(*bar<n) return *bar; //막대의 크기가 n보다 작아지는 즉시 bar return
    }
}
int main(int argc, char* argv[]){
    int n,num=0,bar=64;
    scanf("%d",&n);
    while(1){
        if(n==0)break; //n이 0이되면 연산 끝
        n -= check(n,&bar); //원하는 크기에서 bar를 빼준다.
        num++; //bar의 개수
    }
    printf("%d\n",num);
    return 0;
}

'PROGRAMMING CODE > C' 카테고리의 다른 글

[BAEKJOON] No.1032 C언어  (0) 2021.10.19
[BAEKJOON] No.1026 C언어  (0) 2021.10.19
[BAEKJOON] No.1010 C언어  (0) 2021.10.19
[BAEKJOON] No.1075 C언어  (0) 2021.10.19
[BAEKJOON] No.5086 C언어  (0) 2021.10.19