minghxx.blog
  • [백준 / 자바] 1009번 분산처리
    2023년 12월 12일 18시 14분 32초에 업로드 된 글입니다.
    작성자: 민발자
    728x90

    문제

    재용이는 최신 컴퓨터 10대를 가지고 있다. 어느 날 재용이는 많은 데이터를 처리해야 될 일이 생겨서 각 컴퓨터에 1번부터 10번까지의 번호를 부여하고, 10대의 컴퓨터가 다음과 같은 방법으로 데이터들을 처리하기로 하였다.
    1번 데이터는 1번 컴퓨터, 2번 데이터는 2번 컴퓨터, 3번 데이터는 3번 컴퓨터, ... ,
    10번 데이터는 10번 컴퓨터, 11번 데이터는 1번 컴퓨터, 12번 데이터는 2번 컴퓨터, ...
    총 데이터의 개수는 항상 a^b개의 형태로 주어진다. 재용이는 문득 마지막 데이터가 처리될 컴퓨터의 번호가 궁금해졌다. 이를 수행해주는 프로그램을 작성하라.

     

    풀이

    a^b%10으로 계산하면 될 듯하고 풀었다가 int, long형  범위가 초과하고 BigInteger를 쓰면 메모리 초과가 된다...

    거기다 a가 10인경우 0이 나옴.. 쉽게 봤는데 생각할 게 은근히 많다!

    a^b값을 한 번에 계산해 나머지를 구하는 것보다 1 자릿수값 패턴으로 풀어봤다.

    a 나올 수 있는 1의 자리수
    1 1
    2 2, 4, 8, 6
    3 1, 3, 7, 9
    4 4, 6
    5 5
    6 6
    7 1, 3, 7, 9 
    8 2, 4, 6, 8
    9 1, 9
    10 0

     

     

    728x90
    댓글