제목을 뭘로 해야할지 모르겠다
지난 글에서 cin, cout으로 입출력 받는걸 했긴한데
이번 글도 입출력으로 시작할거라 입출력으로 지었다
백준 알고리즘을 풀면서 공부를 하려고한다
최근에 들은건데 게임 3사에 들어갈려면 백준 골드 티어정도는 되야한다고 하더라
암튼.. 단계별로 하나씩 풀어보았다
근데 ㅋㅋ Hello world부터 틀리고 시작..ㅎㅎ..
친절하게 어떤 부분이 틀렸는지도 알려주더라 ';'를 안붙여서 컴파일 에러..ㅎㅎ..
그리고 고쳐서 다시 제출했는데 틀렸습니다! 라는거..ㅜㅜ 뭐지 했는데 Hello world하고서 '!'를 안붙여서 제출해서 그랬다ㅋㅎㅋㅎ
암튼.. 그거야 실수로 넘어가고
지난 글에 사용한 방법과 같이 +,-,* 문제도 순서대로 풀어 나갔다
지난 글에 사용한 단순히 a/b를 사용하면 소숫점까지 나오지 않는다
int a,b를 받아와 나누고 소숫점까지 출력을 하고싶다면
float 함수를 사용하면 되는데
문제에서는 상대오차가 10-9 이하를 요구하기에 doudle을 사용해야한다
double c를 만들어 a/b를 넣고 출력하면 되겠지하고 해봤는데
#include <iostream>
int main()
{
int a, b;
std::cin >> a >> b;
double c = a/b;
std::cout << c;
}
1 3
0
쩝.. 소숫점이 안나오더라
찾아보니 출력할때 double임을 알려줘야되는 듯 했다
#include <iostream>
int main()
{
int a, b;
std::cin >> a >> b;
std::cout << (double)a/b;
}
1 3
0.333333
근데 이것두 오차범위를 넘어서기 때문에
틀렸다
cout의 기본값은 6자리라고 한다
출력값의 길이를 늘리기 위해선 precision()를 사용해야한다고 한다
#include <iostream>
int main()
{
int a, b;
std::cin >> a >> b;
std::cout.precision(10);
std::cout << (double)a / b;
}
1 3
0.3333333333
int 를 string으로 변경해서 사용하면 되겠지 했는데
std::을 붙여야지 사용이되더라
#include <iostream>
int main()
{
std::string s;
std::cin >>s;
std::cout << s +"??!";
}
eerdd
eerdd??!
문제의 내용 자체가 신기해서 캡쳐했다
올해는 태국에서 2566년이라고 한다
#include <iostream>
int main()
{
int a;
std::cin >> a;
std::cout << a - 543;
}
2566
2023
문제를 대충 슥 보고 제출 했더니 바로 틀려버렸다
#include <iostream>
int main()
{
int a,b,c;
std::cin >> a>>b>>c;
std::cout << a+b+c;
}
77 77 7777
7931
뭐가 문제인가하고 질문게시판을 보니 나랑 똑같은 사람이 많았다ㅋㅎ..
라서 int가 아닌 long long을 사용해야한다고 한다
#include <iostream>
int main()
{
long long a, b, c;
std::cin >> a >> b >> c;
std::cout << a + b + c;
}
77 77 7777
7931
'\'를 출력하고 싶을땐 두번
#include <iostream>
int main()
{
std::cout << "\\ /\\ \n";
std::cout << " ) ( ')\n";
std::cout << "( / )\n";
std::cout << " \\(__)|";
}
마찬가지로 ",'도 앞에 '\'만 붙여주면 된당!
#include <iostream>
int main()
{
std::cout << "|\\_/| \n";
std::cout << "|q p| /} \n";
std::cout << "( 0 )\"\"\"\\ \n";
std::cout << "|\"^\"\` | \n";
std::cout << "||_/=\\\\__|";
}