본문 바로가기

코딩 -/백준 알고리즘 해설

백준 알고리즘 단계별 문제풀이 1 . 입출력과 사칙연산 , A / B

반응형

백준 알고리즘 문제의 단계별 문제의 1번. 입출력과 사칙연산 파트입니다.

그중 일곱 번째 문제인 A / B를 출력하는 문제입니다. 

입력으로는 한자리 자연수 두 개가 들어오게 됩니다.

 

 

 

  <출처 - 백준 알고리즘 문제 - 단계별 문제풀이 7번 >

 

입력 두 개를 받아 나눗셈 결과를 출력해주면 됩니다.

변수의 사용과 스캔을 받을 수 있는지를 보는 문제입니다.

 또 스캔을 받고 출력하는 과정에서 출력 결과의 상대오차가 10의 -9승 이하여야 합니다.

이는 소수점 9자리 이상 출력을 해야 상대오차가 저보다 작을 것입니다.

 

 

결론을 내 결과를 보여드리겠습니다.

 

 

 

우선 C언어입니다.

출력 시 "%. 9f"를 이용하시면 , 소수점 이후 아홉째 자리까지 출력할 수 있습니다.

 

#include<stdio.h>

int main() {
    double a;
    double b;

    scanf("%lf %lf",&a,&b);
    printf("%.9f", a/b);

}

a  , b로 두 개의 입력을 받아 둘의 나눗셈 결과를 출력합니다.

 

 

C++입니다.

C++은 출력 전  cout.precision(10); 을 사용하여 정수를 포함한 10자리를 출력한다고 명시합니다.

#include <iostream>

using namespace std;

int main(){
    int a, b;
    cin>>a>>b;
    cout.precision(10);
    cout<<a*b;
    
}

 

 

 

python입니다

 

파이썬의 경우 일반적인 입력이 <1 2> 이런 형식으로 띄어쓰기를 통해 구분된 두 개의 문자를 입력받을 경우 한 문자열로 취급하여 "1 2"라는 문자열로 인식합니다.

따라서 input(). split()으로 공백을 기준으로 두 개의 입력을 찢어주고 , 해당 문자를 숫자로 인식시켜 나눠야 합니다.

그래도 int 타입으로 넣었어도 나눗셈 시 알아서 소수점으로 바꾸어 계산해주니 저이 후 작업은 필요 없습니다.

 

a,b=input().split()
a = int(a)
b = int(b)
print(a/b)

 

 

 

Java입니다.

 

자바의 경우 스캐너를  임포트 하여 사용하여주시면 됩니다. 

마찬가지로 출력 타입을 조절하여 출력해주면 되겠습니다.

나누는 수에 더블 타입으로만 조절해줘도 괜찮습니다.

import java.util.Scanner;

public class Test122 {

	public static void main(String[] args) {
		Scanner scan = new Scanner(System.in);
		int a, b;
		a = scan.nextInt();
		b = scan.nextInt();
		System.out.print(a/(double)b);

	}

}

 

이것으로 일곱 번째 기본 문제인 a b 입력에 대한 a / b를 출력해보았습니다.

모든 문제를 풀 때까지 같이 달려봅시다.

반응형