반응형
문제 출처 :
https://www.acmicpc.net/problem/1560
알고리즘 분석 :
문제 해결에 필요한 사항
1. 규칙 찾기
그림을 그려보면 간단하다.
예외만 처리해주면 되는데
n이 1일때는 1
n이 2일때는 2
그 외 수에서는 n + n - 2가 정답이다.
이때 n이 70자리 이하 자연수이니 그 처리만 각 언어에서 조심히 하면 될 것 같다.(java의 경우 BigInteger를 쓰면 된다.)
소스 코드 :
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 | import java.math.BigInteger; import java.util.Scanner; public class Main { public static void main(String[] args) { BigInteger c = new BigInteger("0"); Scanner sc = new Scanner(System.in); c = sc.nextBigInteger(); if(c.compareTo(BigInteger.ONE) == 0) System.out.println(1); else if(c.compareTo(BigInteger.valueOf(2)) == 0) System.out.println(2); else System.out.println(c.add(c.subtract(BigInteger.valueOf(2)))); } } // This source code Copyright belongs to Crocus // If you want to see more? click here >> | Crocus |
반응형
'Applied > 알고리즘 문제풀이' 카테고리의 다른 글
[2740번] 행렬 곱셈 (0) | 2017.04.17 |
---|---|
[14492번] 부울행렬의 부울곱 (0) | 2017.04.17 |
[2570번] 비숍2 (0) | 2017.04.16 |
[1799번] 비숍 (7) | 2017.04.15 |
[9525번] 룩 배치하기 (0) | 2017.04.15 |