336x280(권장), 300x250(권장), 250x250, 200x200 크기의 광고 코드만 넣을 수 있습니다.
문제
재용이는 최신 컴퓨터 10대를 가지고 있다. 어느 날 재용이는 많은 데이터를 처리해야 될 일이 생겨서 각 컴퓨터에 1번부터 10번까지의 번호를 부여하고, 10대의 컴퓨터가 다음과 같은 방법으로 데이터들을 처리하기로 하였다.
1번 데이터는 1번 컴퓨터, 2번 데이터는 2번 컴퓨터, 3번 데이터는 3번 컴퓨터, ... ,
10번 데이터는 10번 컴퓨터, 11번 데이터는 1번 컴퓨터, 12번 데이터는 2번 컴퓨터, ...
총 데이터의 개수는 항상 ab개의 형태로 주어진다. 재용이는 문득 마지막 데이터가 처리될 컴퓨터의 번호가 궁금해졌다. 이를 수행해주는 프로그램을 작성하라.
주의할 점 2가지가 있다.
1. 컴퓨터에서는 표현할 수 있는 숫자의 크기가 제한되어 있기 때문에 다 제곱근을해서 10으로 나눈 나머지를 구하는 것은 안된다. 때문에 곱할때마다 10으로 나눈 나머지 값을 계속 곱해야한다.
2. 10으로 나누어질 경우 0번째 컴퓨터가 나올 수 없기 때문에 결과 값이 0일 경우 10번 컴퓨터라는 것을 저장한다.
import java.util.Scanner; public class BunSan { static int testCase; static int result[]; public static void main(String[] args) { // TODO Auto-generated method stub Scanner scan = new Scanner(System.in); testCase = Integer.parseInt(scan.nextLine().trim()); result = new int[testCase]; for(int i = 0; i < testCase; i++) { int a = scan.nextInt(); int b = Integer.parseInt(scan.nextLine().trim()); int resultData = a; for(int j = 1; j < b; j++) { resultData = resultData * a; if(resultData > 10) resultData %= 10; } if(resultData == 0) resultData = 10; result[i] = resultData; } for(int i = 0; i < result.length; i++) System.out.println(result[i]); } }
'알고리즘 및 자료구조 > 문제' 카테고리의 다른 글
백준알고리즘 9095번 1, 2, 3 더하기 (0) | 2018.04.23 |
---|---|
백준알고리즘 1463번 1로만들기 (0) | 2018.04.23 |
백준알고리즘 1003번 피보나치 함수 (0) | 2016.04.29 |
백준알고리즘 2609번 최대공약수와 최소공배수(유클리드 호제법) (0) | 2016.04.20 |
백준알고리즘 1965번 상자넣기 (0) | 2016.04.20 |