1번

문제

Hello World! 를 출력하시오.

 

출력

Hello World! 를 출력하시오.

 

C++

#include <iostream>
using namespace std;
int main(){
    cout << "Hello World!";
    return 0;
}

 

C++ 너무 오랜만에 하다 보니 처음에 입출력 라이브러리 이름이 기억이 안 났다.

iosteam (input/output stream) 입력과 출력의 기능을 사용할 수 있는 라이브러리이다. 

cout을 사용하려면 std:: 네임스페이스를 사용해야 하는데 이걸 생략하기 위해서 using으로 네임스페이스를 선언한다.

 

C#

using System;
class Program{
    static void Main(string[] args){
        Console.WriteLine("Hello World!");
    }
}


System 네임스페이스에 포함된 Console 클래스의 함수인 WirteLine을 사용해서 문자를 출력한다.

 

Python

print("Hello World!")


이렇게 보니 파이썬의 간단함에 새삼스럽게 놀란다.

 

2번

문제

두 정수 A와 B를 입력받은 다음, A+B를 출력하는 프로그램을 작성하시오.

 

입력

첫째 줄에 A와 B가 주어진다. (0 < A, B < 10)

 

출력

첫째 줄에 A+B를 출력한다.

 

C++

#include <iostream>
using namespace std;
int main(){
    int a, b;
    cin >> a;
    cin >> b;
    cout << a + b;
}

 

입력받은 값을 저장하기 위한 변수 a, b 선언 후 합을 출력

 

C#

using System;
class Program
{
    static void Main(string[] args)
    {
        string str = Console.ReadLine();
        string[] arr = str.Split(' ');
        int a = int.Parse(arr[0]);
        int b = int.Parse(arr[1]);
        Console.WriteLine(a + b);
    }
}

 

채점 시 한 줄에 두 값을 모두 주기 때문에 Read 사용 시 입력을 제대로 받지 못한다.

따라서 문자열로 받은 다음 값을 잘라서 정수로 변환하여 출력하여야 한다.

 

Python

str = input()
arr = str.split(' ')
a = int(arr[0])
b = int(arr[1])
print(a+b)

 

파이썬도 마찬가지로 문자로 입력받은 다음 값을 잘라서 처리한다.

 

4번 문제까지는 연산 기호만 달라서 문제만 풀고 따로 남기지 않는다.

 

5번

문제

두 정수 A와 B를 입력받은 다음, A/B를 출력하는 프로그램을 작성하시오.

 

입력

첫째 줄에 A와 B가 주어진다. (0 < A, B < 10)

 

출력

첫째 줄에 A/B를 출력한다. 실제 정답과 출력값의 절대오차 또는 상대오차가 10의 -9승 이하이면 정답이다.

 

C++

#include <iostream>
using namespace std;
int main(){
    double a, b;
    cin >> a;
    cin >> b;
    double res = a/b;
    cout.precision(10);
    cout << res;
}

 

소수점 자릿수를 정확하게 출력하기 위해서 추가 작업이 필요하다.

 

오차를 인정하는 범위가 있기 때문에 소수점 9자리까지 구해야 한다.

 

cout.precision(n)은 n자리까지 정수부+소수부의 n개까지의 수를 표시해 준다.

 

문제에서 대입하는 수의 범위는 나누었을 때 정수부가 1자리 이하이기 때문에 precision(10)을 하면 소수점 9자리까지 나오게 된다.

 

C#

using System;
class Program
{
    static void Main(string[] args)
    {
        string str = Console.ReadLine();
        string[] arr = str.Split(' ');
        double a = double.Parse(arr[0]);
        double b = double.Parse(arr[1]);
        Console.WriteLine(a / b);
    }
}

 

float의 정확도는 7번째 자리이기 때문에 double을 사용한다.

 

Python

str = input()
arr = str.split(' ')
a = float(arr[0])
b = float(arr[1])
print(a/b)

 

파이썬의 경우 double은 따로 없으며 float이 C의 double을 기반으로 15자리까지의 정확도를 가진다.

 

그 이상의 자릿수를 사용하기 위해서는 별도의 모듈인 decimal을 사용해야 한다.

 

 

728x90
반응형

+ Recent posts