๋ฌธ์
๋ ์ ์ A์ B๋ฅผ ์ ๋ ฅ๋ฐ์ ๋ค์, A/B๋ฅผ ์ถ๋ ฅํ๋ ํ๋ก๊ทธ๋จ์ ์์ฑํ์์ค.
์ ๋ ฅ
์ฒซ์งธ ์ค์ A์ B๊ฐ ์ฃผ์ด์ง๋ค. (0 < A, B < 10)
// ์ฒซ๋ฒ์งธ ์์
1 3
// ๋๋ฒ์งธ ์์
4 5
์ถ๋ ฅ
์ฒซ์งธ ์ค์ A/B๋ฅผ ์ถ๋ ฅํ๋ค. ์ค์ ์ ๋ต๊ณผ ์ถ๋ ฅ๊ฐ์ ์ ๋์ค์ฐจ ๋๋ ์๋์ค์ฐจ๊ฐ 10^-9 ์ดํ์ด๋ฉด ์ ๋ต์ด๋ค.
// ์ฒซ๋ฒ์งธ ์์
0.33333333333333333333333333333333
// ๋๋ฒ์งธ ์์
0.8
๋ฌธ์ ์ํฉ
์ด ๋ฌธ์ ์์ float์ ์ฌ์ฉํ๋๋ "ํ๋ ธ์ต๋๋ค." ๋ผ๋ ๊ฒฐ๊ณผ๊ฐ ๋์๋ค.
double์ ๋๋๋ฐ, ์ float์ ์ฌ์ฉํ๋ฉด ์๋๋๊ฑธ๊น?
์ด ๋ฌธ์ ์์ double์ ์ฌ์ฉํ๋ ์ด์
float์ ์ ๋ฐ๋ ํ๊ณ ๋๋ฌธ์ด๋ค.
๋ฌธ์ ์กฐ๊ฑด์ด "์ ๋ ์ค์ฐจ ๋๋ ์๋ ์ค์ฐจ๊ฐ 10^−9 ์ดํ"์ด๊ธฐ ๋๋ฌธ์, ๋ ๋์ ์ ๋ฐ๋๋ฅผ ์ ๊ณตํ๋ doubleํ์ ์ ์ฌ์ฉํด์ผํ๋ค.
float vs double
ํน์ง | float | double |
ํฌ๊ธฐ | 4๋ฐ์ดํธ (32๋นํธ) | 8๋ฐ์ดํธ (64๋นํธ) |
์ ํจ์ซ์ | ์ฝ 7์๋ฆฌ | ์ฝ 15~16์๋ฆฌ |
์ค์ฐจ ํ์ฉ ๋ฒ์ | 10^-7 ์ ๋ | 10^-15 ์ ๋ |
-> float์ ์ ํจ ์๋ฆฟ์๋ ์ฝ 7์๋ฆฌ์ด๊ธฐ ๋๋ฌธ์, ๋ฌธ์ ์์ ์๊ตฌํ๋ ์์ค์์ ์ ํํ ๊ฒฐ๊ณผ๋ฅผ ๋ณด์ฅํ ์ ์๋ค.
๋ฐ๋ฉด์ double์ ์ ํจ ์๋ฆฟ์๊ฐ ํจ์ฌ ํฌ๋ฏ๋ก, ๋ฌธ์ ์์ ์๊ตฌํ๋ ์ค์ฐจ๋ฅผ ์ถฉ๋ถํ ์ฒ๋ฆฌํ ์ ์๋ค.
๋ฌธ์ ์์ ๋งํ๋ ์ ๋์ค์ฐจ ๋๋ ์๋ ์ค์ฐจ๊ฐ 10^-9๋ ๋ฌด์์ธ๊ฐ?
- ์ ๋์ค์ฐจ : ๊ณ์ฐ๋ ๊ฐ๊ณผ ์ค์ ๊ฐ์ ์ฐจ์ด๊ฐ 10^-9 ์ดํ
- ์๋์ค์ฐจ : ๊ณ์ฐ๋ ๊ฐ๊ณผ ์ค์ ๊ฐ์ ์ฐจ์ด๋ฅผ ์ค์ ๊ฐ์ผ๋ก ๋๋ ๋น์จ์ด 10^-9 ์ดํ
์ค์ ๋ก, float์ ์ฌ์ฉํด ์์ฑํ ์ฝ๋์ ๊ฒฐ๊ณผ๊ฐ์ ๋ณด๋ฉด
import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.io.IOException;
public class Main {
public static void main(String[] args) throws IOException {
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
String input = br.readLine();
String[] tlist = input.split(" ");
float A = Float.valueOf(tlist[0]);
float B = Float.valueOf(tlist[1]);
float result = A / B;
System.out.println(result);
}
}
์ด๋ ๊ฒ 7๋ฒ์งธ ์๋ฆฌ ์ดํ์ ๊ฐ์ด ๋ถ์ ํํ๊ฒ ๋์ค๋๊ฒ์ ๋ณผ ์ ์๋ค.
๋ฐ๋ฉด์, double์ ์ฌ์ฉํ๋ค๋ฉด
import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.io.IOException;
public class Main {
public static void main(String[] args) throws IOException {
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
String input = br.readLine();
String[] tlist = input.split(" ");
double A = Double.valueOf(tlist[0]);
double B = Double.valueOf(tlist[1]);
double result = A / B;
System.out.println(result);
}
}
๋ฌธ์ ์์ ์๊ตฌํ๋ 9๋ฒ์งธ ์๋ฆฌ๊น์ง ์ ํํ๊ฒ ๋์ค๋๊ฒ์ ํ์ธํ ์ ์๋ค.
๋ฐ๋ผ์ ์ ๋ต์ Double์ ์ฌ์ฉํ ์๋์ ์ฝ๋์ ๊ฐ๋ค.
'๐ป ์ฝ๋ฉํ ์คํธ > ๋ฐฑ์ค' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
์๋ฐ ์ ๋ ฅ์ ๊ดํ ๊ณ ์ฐฐ (Scanner, BufferedReader) (0) | 2025.01.14 |
---|---|
[๋ฐฑ์ค/Java] 10172 ๊ฐ : ์๋ฐ์์ " ์ถ๋ ฅ (0) | 2025.01.14 |
[๋ฐฑ์ค/Java] 10171 ๊ณ ์์ด : ์๋ฐ์์ \ ์ถ๋ ฅ (0) | 2025.01.14 |
[๋ฐฑ์ค/Java] 11382 ๊ผฌ๋ง ์ ๋ฏผ : ๋ฐํ์์๋ฌ (0) | 2025.01.14 |
[๋ฐฑ์ค/Java] 2588 ๊ณฑ์ ๋ฌธ์ ํ์ด (์๋ฆฟ์ ๋ถ๋ฆฌํ๊ธฐ) (0) | 2025.01.14 |