[백준/자바/JAVA] 2475 : 검증수

Seongkeun·2021년 7월 31일
1

BOJ

목록 보기
3/12
post-thumbnail

BOJ 2475 - 검증수

[문제]

컴퓨터를 제조하는 회사인 KOI 전자에서는 제조하는 컴퓨터마다 6자리의 고유번호를 매긴다. 고유번호의 처음 5자리에는 00000부터 99999까지의 수 중 하나가 주어지며 6번째 자리에는 검증수가 들어간다. 검증수는 고유번호의 처음 5자리에 들어가는 5개의 숫자를 각각 제곱한 수의 합을 10으로 나눈 나머지이다.

예를 들어 고유번호의 처음 5자리의 숫자들이 04256이면, 각 숫자를 제곱한 수들의 합 0+16+4+25+36 = 81 을 10으로 나눈 나머지인 1이 검증수이다.

{ 입 출력 예제 }


[문제풀이]

사실 문제 풀이랄 건 없다 그저 문제 그대로 풀이할뿐...

--이 문제와는 상관없는 참고사항--
선형 등식의 일반적인 형태는
a=q×d+r{\displaystyle a=q\times d+r} 이 등식에서
qq 는 몫 이고 rr 은 나머지이다.

위키백과-나머지

r=mod(ax2,10)r=mod({a_{x}}^{2},10)

라고 표현하며

r=ax2r={a_{x}}^{2} modmod 1010

라고도 표현한다


[코드작성]

import java.util.*;
import java.io.*;

public class Main {
	//콘솔에 출력해주기 위한 놈
	private static BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(System.out)); 
	public static void main(String args[]) throws IOException { 
		BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); 
		//br로 나오는건 다 스트링
		StringTokenizer st = new StringTokenizer(br.readLine());
		int sum = 0;
		for (int i = 0; i < 5; i++) { 
			//Math.pow = 제곱연산(정수,제곱수)
			sum += Math.pow(Integer.parseInt(st.nextToken()), 2); 
		} 
		//System.out.println(String.valueOf(sum % 10)) 와 같음
		//허나 buffer를 사용하기에 더 빠름
		bw.write(String.valueOf(sum % 10));
		//남아있는 데이터를 모두 출력
		bw.flush(); 
		//스트림을 닫음
		bw.close();
		} 
}

profile
지혜는 지식에서 비롯된다

0개의 댓글