숫자 2로 하는 것은 너무 진부해서 3으로 해봤다.


# include <stdio.h>


void CuntRoll(int* number);

void Fun_3x(int** number);

void Fun_3x1(int** number);

void Fun_3x2(int** number);


int main (void) {

int number = 0;

printf("input : ");

scanf("%d", &number);

CuntRoll(&number);

return 0;

}


void CuntRoll(int* number) {

if( (*number)%3 == 0 ) { 

// case 1)

// 0, 3, 6, 9, 12, 15, ...

Fun_3x(&number);

}

else if( (*number)%3 == 1 ){

// case 2)

// 1, 4, 7, 10, 13, 16, ...

Fun_3x1(&number);

}

else { // (*number)%3 == 2

// case 3)

// 2, 5, 8, 9, 12, 15, ... 

Fun_3x2(&number);

}

} // end of CountRoll function


void Fun_3x(int** number) {

int count = -1;

int i; // index

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

count = (count+1)%2; // 0, 1, 0  

if((3*i+0) == (**number)) {

break;

}

}

if (count == 0) {

printf("%d is Even_number \n", (**number));

}

else {

printf("%d is Odd__number \n", (**number));

}

}

void Fun_3x1(int** number) {

int count = -1;

int i; // index

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

count = (count+1)%2; // 0, 1, 0  

if((3*i+1) == (**number)) {

break;

}

}

if (count == 1) {

printf("%d is Even_number \n", (**number));

}

else {

printf("%d is Odd__number \n", (**number));

}

}

void Fun_3x2(int** number) {

int count = -1;

int i; // index

 

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

count = (count+1)%2; // 0, 1, 0  

if((3*i+2) == (**number)) {

break;

}

}

if (count == 0) {

printf("%d is Even_number \n", (**number));

}

else {

printf("%d is Odd__number \n", (**number));

}

 }