[백준] 8437

당당·2023년 5월 28일
0

백준

목록 보기
137/179

https://www.acmicpc.net/problem/8437

📔문제

Julka zaskoczyła wczoraj w przedszkolu swoją wychowawczynię rozwiązując następującą zagadkę:

Klaudia i Natalia mają razem 10 jabłek,
ale Klaudia ma o 2 jabłka więcej niż Natalia.
Ile jabłek ma każda z dziewczynek?

Julka odpowiedziała bez namysłu: Klaudia ma sześć jabłek, natomiast Natalia ma cztery jabłka.

Wychowywaczyni postanowiła sprawdzić, czy odpowiedź Julki nie była przypadkowa i powtarzała zagadkę, za każdym razem zwiększając liczby jabłek w zadaniu. Julka zawsze odpowiadała prawidłowo. Zaskoczona wychowawczyni chciała kontynuować ,,badanie'' Julki, ale przy bardzo dużych liczbach sama nie potrafiła szybko rozwiązać zagadki. Pomóż pani przedszkolance i napisz program, który będzie podpowiadał jej rozwiązania.

Napisz program, który:

  • wczyta (ze standardowego wejścia) liczbę jabłek, które mają razem obie dziewczynki oraz o ile więcej jabłek ma Klaudia,
  • obliczy, ile jabłek ma Klaudia i ile jabłek ma Natalia,
  • wypisze wynik (na standardowe wyjście).

📝입력

Wejście składa się z dwóch wierszy. Pierwszy wiersz zawiera liczbę wszystkich jabłek posiadanych przez dziewczynki, natomiast drugi - liczbę mówiącą, o ile więcej jabłek ma Klaudia. Obie liczby są całkowite i dodatnie. Wiadomo, że dziewczynki mają razem nie więcej niż 10^100 (jedynka i sto zer) jabłek. Jak widać, jabłka mogą być bardzo malutkie.


📺출력

Twój program powinien wypisać (na standardowe wyjście) w dwóch kolejnych wierszach dwie liczby całkowite, po jednej w wierszu. Pierwszy wiersz powinien zawierać liczbę jabłek Klaudii, natomiast drugi - liczbę jabłek Natalii. Wiadomo, że dziewczynki zawsze mają całe jabłka.


📝예제 입력 1

10
2

📺예제 출력 1

6
4

🔍출처

Contest > Algorithmic Engagements > PA 2003 2-1번


🧮알고리즘 분류

  • 수학
  • 사칙연산
  • 임의 정밀도 / 큰 수 연산

📃소스 코드

import java.math.BigInteger;
import java.util.Scanner;

public class Code8437 {
    public static void main(String[] args) {
        Scanner sc=new Scanner(System.in);
        BigInteger total=sc.nextBigInteger();//10개 전체로 갖고 있음
        BigInteger more=sc.nextBigInteger();//2개 더 많이 갖고 있다

        BigInteger divide=new BigInteger("2");
        BigInteger answer=total.subtract(more).divide(divide);

        System.out.println(answer.add(more));
        System.out.println(answer);
    }
}

📰출력 결과


📂고찰

진짜 뭔말인지 몰라서 번역기를 돌렸다.

번역기 돌리는 중이 10^10010100으로 바껴서 int로 했다가 런타임 에러가 발생했다. 그래서 다시 번역을 풀어보니 10^100이었다.

BigInteger로 계산을 해주자.

profile
MySQL DBA 신입 지원

0개의 댓글