본문 바로가기
백준

백준 단계 1. 입출력과 사칙연산

by 템닉___ 2024. 3. 17.

이 포스팅은 템닉의 개발저장소의 레거시 글입니다.

 

템닉의 개발저장소

기억 못할 수도 있는 지식들을 덤프해버리는 공간입니다.

tempnixk.tistory.com

 

1. Hello World (문제번호 2557)

#include <iostream> 
using namespace std; 

int main() 
{ 
    cout<<"Hello World!"<<endl; 
    return 0; 
}

 

2. We love kriii (문제번호 10718)

#include <iostream> 
using namespace std; 

int main() 
{ 
    cout<<"강한친구 대한육군"<<endl; 
    cout<<"강한친구 대한육군"<<endl;        //endl의 출력은 개행으로 이어진다.
    return 0; 
}

3. 고양이 (문제번호 10171)

#include <iostream> 
using namespace std; 

int main() 
{ 
    cout<<"\\    /\\"<<endl;            //\(backspace)의 출력은 \\로 할 수 있다.
    cout<<" )  ( ')"<<endl; 
    cout<<"(  /  )"<<endl; 
    cout<<" \\(__)|"<<endl; 
    return 0; 
}

4. 개 (문제번호 10172)

#include <iostream> 
using namespace std; 

int main() 
{ 
    cout<<"|\\_/|"<<endl; 
    cout<<"|q p|   /}"<<endl; 
    cout<<"( 0 )\"\"\"\\"<<endl; //"(따옴표)의 출력은 \"(백슬래시+따옴표)로 할수 있다.
    cout<<"|\"^\"`    |"<<endl; 
    cout<<"||_/=\\\\__|"<<endl; 
    return 0; 
}

5. A+B (문제번호 1000)

#include <iostream> 
using namespace std; 

int main() 
{ 
    unsigned short a, b; //정수 A ,B가 0<A,B<10이므로 메모리를 아끼기 위해 unsigned short형을 사용
    cin>>a>>b; 
    cout<<a+b<<endl; 
    return 0; 
}

6. A-B (문제번호 1001)

#include <iostream> 
using namespace std; 

int main() 
{ 
    unsigned short a, b; 
    cin>>a>>b; 
    cout<<a-b<<endl; 
    return 0; 
}

7. AxB (문제번호 10998)

#include <iostream> 
using namespace std; 

int main() 
{ 
    unsigned short a, b; 
    cin>>a>>b; 
    cout<<a*b<<endl; 
    return 0; 
}

8. A/B (문제번호 1008) 

처음에 단순히 (double)a/b로 접근했다가 틀리고 말았다. 오차에 대해서는 별 생각을 하지 않았는데, 10^(-9) 이하의 오차를 갖게 하기 위해서는 다른 조치를 취했어야했다. printf를 쓴다면 %.9f를 하면 되겠지만 그렇게 알게된 내용이 fixed-precision이다.

cout.precision(N)은 실수를 N자리까지 표현하겠다는 의미이다. 그리고 그 윗줄에 cout<<fixed;를 추가하게 되면 소숫점 이하의 자릿수를 N자리로 하겠다는 뜻이 된다.

#include <iostream> 
using namespace std; 

int main() 
{ 
    unsigned short a, b; 
    cin>>a>>b; 
    cout<<fixed;
    cout.precision(10);
    cout<<(double)a/b<<endl; 
    return 0; 
}

9. 사칙연산 (문제번호 10869)

문제를 제대로 안읽어서... A/B 출력시 몫만 계산할수 있도록 정수범위에서 계산하게 만든다. A, B 범위가 모두 10,000보다 작기에 short를 써도 괜찮다.

#include <iostream> 
using namespace std; 

int main() 
{ 
    unsigned short a, b; 
    cin>>a>>b; 
    cout<<a+b<<endl;
    cout<<a-b<<endl;
    cout<<a*b<<endl;
    cout<<fixed;
    cout.precision(10);
    cout<<a/b<<endl; 
    cout<<a%b<<endl;
    return 0; 
}

10. 나머지 (문제번호 10430)

#include <iostream> 
using namespace std; 

int main() 
{ 
    unsigned short a, b, c; 
    cin>>a>>b>>c; 
    cout<<(a+b)%c<<endl;
    cout<<((a%c) + (b%c))%c<<endl;
    cout<<(a*b)%c<<endl;
    cout<<((a%c) * (b%c))%c<<endl;
    return 0; 
}

11. 곱셈 (문제번호 2588)

  #include <iostream> 
  using namespace std; 

  int main() 
  { 
      unsigned short a, b, thr, fou, fiv; 
      cin>>a>>b; 
      thr=(a*(b-b/10*10));
      fou=(a*(((b-b/100*100)-(b-b/10*10)))/10);
      fiv=(a*(b/100));
      cout<<thr<<endl; //복잡한 계산수식은 따로 변수에 저장해두고 사용
      cout<<fou<<endl;
      cout<<fiv<<endl;
      cout<<a*b<<endl;
      return 0; 
  }

'백준' 카테고리의 다른 글

백준 단계 5. 문자열  (0) 2024.03.17
백준 단계 4. 배열  (0) 2024.03.17
백준 단계 3. 반복문  (0) 2024.03.17
백준 단계 2. 조건문  (0) 2024.03.17
백준 단계 1. 입출력과 사칙연산 추가된 문제들 풀이  (0) 2024.03.17