[BOJ] 입출력과 사칙연산

2020. 7. 20. 17:44BOJ

BOJ를 다시 시작하는 김에 옛날 아이디는 이메일 바꿔버리고 새로 팠다. 그래서 단계별로 풀어보기도 처음부터 다시 해야 된다. 어차피 옛날에 풀어서 단계별로 풀어보기가 개편되었기 때문에 다시 풀어보는 것도 나쁘지 않을 듯하다. 티스토리 글쓰기 연습하는 겸으로 해본다.

 

 

[BOJ 2557]

 

Hello World! 간단하게 출력하는 문제

#include <stdio.h>

int main(){
    puts("Hello World!");
}

 

[BOJ 10718]

 

잘 갔다 와라

#include <stdio.h>

int main(){
    printf("강한친구 대한육군\n");
    printf("강한친구 대한육군\n");
}

 

[BOJ 10171]

 

파이썬에 r"""내용""" 이런식으로 치면 바로 나옴

#include <stdio.h>

int main(){
    printf("\\    /\\\n )  ( ')\n(  /  )\n \\(__)|");
}

 

[BOJ 10172]

 

이건 중간에 " 들어가있어서 안되는 것 같음

#include <stdio.h>

int main(){
    printf("|\\_/|\n|q p|   /}\n( 0 )\"\"\"\\\n|\"^\"`    |\n||_/=\\\\__|");
}

 

[BOJ 1000]

 

쉬워

#include <stdio.h>

int main(){
    int A, B;
    scanf("%d%d",&A,&B);
    printf("%d\n",A+B);
}

 

[BOJ 1001]

 

쉬워 2

#include <stdio.h>

int main(){
    int A, B;
    scanf("%d%d",&A,&B);
    printf("%d\n",A-B);
}

 

[BOJ 10998]

 

쉬워 3

#include <stdio.h>

int main(){
    int A, B;
    scanf("%d%d",&A,&B);
    printf("%d\n",A*B);
}

 

[BOJ 1008]

 

오차 1e-9 때문에 "%.9f" 썼는데 뒤에 0 딸려 나오는 게 좀 보기가 흉하다.

#include <stdio.h>

int main(){
    int A, B;
    scanf("%d%d",&A,&B);
    printf("%.9f\n",(double)A/B);
}

P.S.

소수점 포매팅에 %f 대신 %lf를 쓰는 사람들이 있던데 f 포맷은 l 옵션이 없습니다. (있어도 표준은 아닙니다.)

링크 하단의 표에 보면 f 포맷은 기본이 double이고 L 옵션이 있습니다. 참고로 제가 쓰는 사이트 gcc 컴파일러에서 L 옵션은 quadraple precision floating point format을 씁니다. 해당 포맷은 16바이트를 쓰는데 아마 더 느릴거에요. 

참고: http://www.cplusplus.com/reference/cstdio/printf/

 

[BOJ 10869]

 

쉬워 종합세트

#include <stdio.h>

int main(){
    int A, B;
    scanf("%d%d",&A,&B);
    printf("%d\n",A+B);
    printf("%d\n",A-B);
    printf("%d\n",A*B);
    printf("%d\n",A/B);
    printf("%d\n",A%B);
}

 

[BOJ 21069]

 

작성자가 중간에 × 끼워놔서 복붙이 한번에 안됐다.

#include <stdio.h>

int main(){
    int A, B, C;
    scanf("%d%d%d",&A,&B,&C);
    printf("%d\n", (A+B)%C);
    printf("%d\n", ((A%C) + (B%C))%C);
    printf("%d\n", (A*B)%C);
    printf("%d\n", ((A%C) * (B%C))%C);
}

 

[BOJ 2588]

 

마지막 문제 완성 뇌절했다.

#include <stdio.h>

class Three_Multiply{
    public:
    int A, B;
    Three_Multiply(int A, int B){
        this->A = A;
        this->B = B;
    }
    
    int mid[3];
    int res;
    
    int calculate(){
        int temp = this->B;
        for(int k=0;k<3;++k){
            mid[k] = this->A * (temp % 10);
            temp /= 10;
        }
        
        res = this->A * this->B;
        return 0;
    }
};

int main(){
    int A, B;
    scanf("%d%d",&A,&B);
    
    Three_Multiply P(A, B);
    P.calculate();
    
    printf("%d\n",P.mid[0]);
    printf("%d\n",P.mid[1]);
    printf("%d\n",P.mid[2]);
    printf("%d\n",P.res);
    
}

 

수고하셨습니다. 질문 받습니다.

'BOJ' 카테고리의 다른 글

[BOJ] 함수  (0) 2020.07.23
[BOJ] 1차원 배열  (0) 2020.07.21
[BOJ] WHILE문  (0) 2020.07.21
[BOJ] FOR문  (0) 2020.07.20
[BOJ] IF문  (0) 2020.07.19