반응형
    
    
    
  문제 출처 :
https://www.acmicpc.net/problem/5988
알고리즘 분석 :
문제 해결에 필요한 사항
1. 홀수, 짝수 판별 방식
2. 10^60까지 처리 할 수 있는 방식
문제의 입력을 보면
두 번째 줄부터 N+1번째 줄에 걸쳐 홀수인지 짝수인지 확인할 정수 K (1 <= K <= 10^60)가 주어진다. 라고 조건을 제시한다.
10^60은 100,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000인데
이것은 usigned long long int로도 해결 할 수 없다.
즉, 이 수는 문자열로 배열에 받아야한다.
그리고 숫자의 길이를 구한 뒤(strlen이용) 마지막 자리가 홀수인지 짝수인지만 판별해 주면된다.
ex) 100,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,001은 홀수이고
100,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,002는 짝수이다.
100,000,000,000,000,000,000,123,003,050,000,000,080,090,000,000,000,000,000,003은 홀수이다.
소스 코드 :
| 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 | #include <stdio.h> int main() {     int n, len;     char arr[70];     scanf("%d", &n);     for (int i = 0; i < n; i++)     {         scanf("%s", arr);         len = strlen(arr);         if (arr[len - 1] % 2 == 0)             printf("even\n");         else if (arr[len - 1] % 2 == 1)             printf("odd\n");             }     return 0; } //                                                       This source code Copyright belongs to Crocus //                                                        If you want to see more? click here >> | Crocus | 
반응형
    
    
    
  'Applied > 알고리즘 문제풀이' 카테고리의 다른 글
| [10164번] 격자상의 경로(Dynamic Programming, Mathematic) (0) | 2016.07.20 | 
|---|---|
| [11809번] 충돌 (0) | 2016.07.19 | 
| [10610번] 30 (0) | 2016.07.09 | 
| [1789번] 수들의 합 (0) | 2016.07.09 | 
| [10829번] 이진수 변환 (0) | 2016.07.09 |