๋ณธ๋ฌธ ๋ฐ”๋กœ๊ฐ€๊ธฐ
๐Ÿ’ป ์ฝ”๋”ฉํ…Œ์ŠคํŠธ/๋ฐฑ์ค€

[๋ฐฑ์ค€/Java] 1008 A/B ํ’€์ด ๋ฐ ๋ฌธ์ œ (double์„ ์‚ฌ์šฉํ•ด์•ผํ•˜๋Š” ์ด์œ )

by ๋ฝ€์งœ๊ผฌ 2025. 1. 14.
728x90
๋ฐ˜์‘ํ˜•

๋ฌธ์ œ

๋‘ ์ •์ˆ˜ 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์„ ์‚ฌ์šฉํ•œ ์•„๋ž˜์˜ ์ฝ”๋“œ์™€ ๊ฐ™๋‹ค.

728x90
๋ฐ˜์‘ํ˜•