본문 바로가기
Computer Science

제곱수의 합 계산하기

by OKOK 2019. 2. 18.

1. 제곱수 계산하기

2. base, exp

3. 큰 수 일때 처리하는 방법

4. 위에 자리 수를 따로 저장해둠 


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
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
#include <stdio.h>
 
#define OVERFLOW    10000000000000000
 
int main(void)
{
    freopen("input.txt""r", stdin);
    int tc, n;
 
    scanf("%d"&tc);
    while (tc--)
    {
        int i, num;
        int base, exp;
        unsigned long long int sumH, sumL;
        unsigned long long int T_SUMH = 0, T_SUML = 0;
 
        scanf("%d"&n);
        for (i = 0; i < n; i++)
        {
            scanf("%d"&num);
            base = num / 10;
            exp = num % 10;
 
            sumH = 0; sumL = 1;
            for (int k = 0; k < exp; k++)
            {
                sumH = sumH * base;
                sumL = sumL * base;
 
                if (sumL >= OVERFLOW)
                {
                    sumH = sumH + (sumL / OVERFLOW);
                    sumL = sumL % OVERFLOW;
                }
            }
            T_SUMH += sumH;
            T_SUML += sumL;
        }
 
        if (T_SUMH > 0)
            printf("%lld", T_SUMH);
        printf("%lld\n", T_SUML);
    }
 
    return 0;
}
 
cs

 


'Computer Science' 카테고리의 다른 글

영빈이의 대량할인  (0) 2019.02.19
무선 단속 카메라  (0) 2019.02.19
빠른 휴대전화 키패드  (0) 2019.02.18
정식이의 은행업무  (0) 2019.02.18
pacman basic  (0) 2019.02.18

댓글