A/B (1008)
Created:
몫이 아닌 전체 값을 출력해야 하기 때문에 데이터 타입에 주의해야 한다.
Bash
Bash 1
2
3
4
5
6
7
8
9
read a b
let a*=10**10
let r=a/b
n=0
if [ ${#r} -gt 10 ]; then
n=${r::1}
r=${r:1}
fi
echo $n.$r
Bash
는 연산 시 소수부를 모두 버리기 때문에 오차 범위만큼 곱한 후 계산하고 점은 직접 넣어야 한다.
let r=a/b
대신 ((r = a/b))
를 사용할 수 있다.
2, 3번 라인을 ((a *= 10**10, r = a/b))
이 한 줄로 줄일 수 있다.
백준에서는 먹히지 않는 awk
, bc
명령어를 사용하면 소수부까지 출력할 수 있다.
C
C 1
2
3
4
5
6
7
8
#include <stdio.h>
int main(void) {
double a, b;
scanf("%lf %lf", &a, &b);
printf("%.9lf", a / b);
return 0;
}
int
, float
타입이 아닌 double
을 사용해야 한다.
Node.js
JavaScript 1
2
let [a, b] = require("fs").readFileSync(0).toString().trim().split(" ").map(Number);
console.log(a / b);
PHP
PHP 1
2
3
4
<?php
fscanf(STDIN, "%d %d", $a, $b);
echo $a / $b;
?>
Python3
Python 1
2
a, b = map(int, input().split())
print(a/b)
Python2
와 달리 Python3
은 정수끼리 나눠도 소수부까지 연산이 가능하다.
Ruby
Ruby 1
2
a, b = gets.chomp.split().map {|i| i.to_f}
puts a/b
정수형인 to_i
가 아니라 실수형인 to_f
다.