티스토리 뷰

215 = 32768 의 각 자리수를 더하면 3 + 2 + 7 + 6 + 8 = 26 입니다.

21000의 각 자리수를 모두 더하면 얼마입니까?


#include <stdio.h>


#define MAX (1000)

#define TRUE 1

#define FALSE 0


int main (void){

char a_Result[MAX];

int v_input = 0;

int i = 0, j = 0;

int b_first_non_zero = FALSE;

int sum = 0;


memset(a_Result, 0x00, MAX);


printf("Input Power Number : ");

scanf("%d", &v_input);


if(v_input > MAX || v_input < 0){

printf("Wrong Number\n");

return 0;

}


if(v_input >= 0){

a_Result[0] = 1;

}


for(i=0; i<v_input; i++){

int v_temp = 0;

int v_carry_before = 0;

int v_carry_over = 0;


for(j = 0; j<MAX-1; j++){

v_temp = a_Result[j];

v_temp = v_temp * 2;

v_carry_before = v_carry_over;

v_carry_over = 0;


if(v_temp > 9){

v_carry_over = 1;

v_temp -= 10;

}


a_Result[j] = v_temp + v_carry_before;

v_carry_before = 0;

}

}


printf("The Result of 2 Power v_input is \n");


for(i=MAX-1; i>=0 ; i--){

if(a_Result[i] !=0){

b_first_non_zero = TRUE;

printf("%d",a_Result[i]);

sum += a_Result[i];

}


else if ((a_Result[i] == 0) && (b_first_non_zero == TRUE)){

printf("%d",a_Result[i]);

sum += a_Result[i];

}

}


printf(".\n");

printf("%d\n",sum );


return 0;

}

'알고리즘 > 오일러 프로젝트' 카테고리의 다른 글

오일러 프로젝트 15번  (0) 2016.12.12
오일러 프로젝트 13번  (0) 2016.05.19
오일러 프로젝트 14번  (0) 2016.05.02
오일러 프로젝트 12번  (0) 2016.04.23
오일러 프로젝트 11번  (0) 2016.04.23
댓글