페이지

1740번: 거듭제곱

https://www.acmicpc.net/problem/1740


#include<stdio.h>
int len = -1, two[50];
long long int N, ans;
int main()
{
    int i, j;
    scanf("%lld", &N);
    while (N>0)
    {
        len++;
        two[len] = N % 2;
        N /= 2;
    }
    for (i = 0; i <= len; i++)
    {
        if (two[i] == 1)
        {
            long long int tmp = 1;
            for (j = 1; j <= i; j++)
            {
                tmp *= 3;
            }
            ans += tmp;
        }
    }
    printf("%lld", ans);
    return 0;
}

댓글 없음 :

댓글 쓰기