윈플

다들 알고있는 3-6-9 게임

숫자 3-6-9를 포함하면 박수를 치면 되는 단순한 게임


ex) 1 2 짝 4 5 짝 ... 11 12 짝 14 ...

30의 경우 3이 하나 들어있기 때문에 '' 33, 36, 39의 경우엔 '짝짝' 이렇게 하는 게임


제약사항으로 배열이나 문자열 함수, 즉 단순 int 형식으로만 구현하는 경우에 대한 코딩입니다.

간략히 설명하면, 배열이나 문자열을 사용하지 않기 때문에 '/'로 자르고 '%' 로 구분 숫자의 자릿수가 1의 자릿수가 될 때까지 반복.


 void game369(int max)

{
for(int i=1; i<=max; i++)
{
bool isBool = false;
while(1)
{
int d_val = (int)i/10;
int r_val = i%10;
if(r_val%3==0 && r_val !=0)
{
printf("clap");
isBool = true;
}
if(d_val<10)
{
if(d_val%3==0 && d_val!=0)
{
printf("clap");
isBool = true;
}
break;
}
else
{
i=d_val;
}
}
if(!isBool)
{
printf("%d",i);
}
printf("\n");
}
}



'머리쓰기 > 간단한 문제들' 카테고리의 다른 글

CodingTest_369_Game  (0) 2018.04.25
히스토그램 그리기.  (0) 2011.07.08
(역)달뱅이 알고리즘  (0) 2011.05.24
For문을 이용(3)  (0) 2011.05.24
문자열관련.  (0) 2011.05.24
For문을 이용(2)  (0) 2011.05.24

Comment +0

랜덤한 값을 100개 정도 입력받아서


보기 좋게 히스토그램 그려보기.

 자료실 하나 만들어야겠다 소스 올리게.

/*
rand()이용해서 렌덤하게 100개 입력받아서 히스토그램 그려주기.
 */

#include <stdio.h>
#include <time.h>

void main()
{
int arr[10] ={0,};
int i,j,input;
int count = 0;

printf("***********************HISTOGRAM***********************\n");

srand(time(NULL));
while(count<100)
{
input = rand()%100;
count++;

if(input/10 ==0)
arr[0]++;
else if(input/10 == 1)
arr[1]++;
else if(input/10 == 2)
arr[2]++;
else if(input/10 == 3)
arr[3]++;
else if(input/10 == 4)
arr[4]++;
else if(input/10 == 5)
arr[5]++;
else if(input/10 == 6)
arr[6]++;
else if(input/10 == 7)
arr[7]++;
else if(input/10 == 8)
arr[8]++;
else 
arr[9]++;
}

for(i=18;i>=0;i--)
{
printf("%2d > ",i);

for(j=0;j<10;j++)
{
if(arr[j]>=i)
printf("  *  ");
else
printf("     ");
}
printf("\n");
}
printf("---");
for(i=0;i<10;i++)
{
printf("%5d",i*10);
}
printf("\n값:");
for(i=0;i<10;i++)
{
printf("%5d",arr[i]);
}
printf("\n******************************************************\n");

'머리쓰기 > 간단한 문제들' 카테고리의 다른 글

CodingTest_369_Game  (0) 2018.04.25
히스토그램 그리기.  (0) 2011.07.08
(역)달뱅이 알고리즘  (0) 2011.05.24
For문을 이용(3)  (0) 2011.05.24
문자열관련.  (0) 2011.05.24
For문을 이용(2)  (0) 2011.05.24

Comment +0




달팽이 알고리즘은

input : 5

 1  2  3  4  5

16 17 18 19 6

15 24 25 20 7

14 23 22 21 8

13 12 11 10 9

 

        int a[100][100] = {0,},i,j,prt_n,n,num=1;     

int Row=0,Column=-1,direct=1;       //Row는 행, Column는 열, direct는 방향


printf("입력 : ");

scanf("%d",&n);

prt_n=n;            //n을 따로 저장

while(n!=0)                      

{

for(i=0;i< n;i++)            // 가로 처리 반복문

{

Column+=direct;

a[Row][Column]=num++;

}

n--;

for(i=0;i< n;i++)           // 세로 처리 반복문

{

Row+=direct;

a[Row][Column]=num++;

}

direct*=-1;               // 방향결정부분

}


for(i=0;i<prt_n;i++)         // 출력

{

for(j=0;j<prt_n;j++)

printf("%3d",a[i][j]);

printf("\n");

}


유사하게 

input : 5


  1 16 15 14 13

  2 17 24 23 12

  3 18 25 22 11

  4 19 20 21 10

  5  6  7  8  9


    int a[100][100] = {0,};
    int n =0;
    cin >> n;
    int prt_n = n;
    int row=-1, column=0, direct=1;
    int num=1;

    if(n<= 10)

    {
        while(n!=0)
        {
            // column
            for(int i=0; i<n; i++)
            {
                row += direct;
                a[row][column]=num++;
            }
            n--;
            // row
            for(int i=0; i<n; i++)
            {
                column += direct;
                a[row][column]=num++;
            }
            direct*=-1;
        }
    }

    for(int i=0;i<prt_n;i++)         // 출력

    {
        for(int j=0;j<prt_n;j++)
            printf("%3d",a[i][j]);
        printf("\n");
    }





문제는 달팽이 알고리즘을 역으로

가운데에서부터

 

5를 입력시

 

21  22  23  24  25

20   7   8   9   10

19   6   1   2  11

18   5   4   3  12

17  16 15  14  13           

 

 



'머리쓰기 > 간단한 문제들' 카테고리의 다른 글

CodingTest_369_Game  (0) 2018.04.25
히스토그램 그리기.  (0) 2011.07.08
(역)달뱅이 알고리즘  (0) 2011.05.24
For문을 이용(3)  (0) 2011.05.24
문자열관련.  (0) 2011.05.24
For문을 이용(2)  (0) 2011.05.24

Comment +0



*, 공백 사용.


만약 7을 입력하면

 


'머리쓰기 > 간단한 문제들' 카테고리의 다른 글

히스토그램 그리기.  (0) 2011.07.08
(역)달뱅이 알고리즘  (0) 2011.05.24
For문을 이용(3)  (0) 2011.05.24
문자열관련.  (0) 2011.05.24
For문을 이용(2)  (0) 2011.05.24
For문을 이용(1)  (0) 2011.05.24

Comment +0


문제 1.

 

알파벳 ( 대 ,소문자 구분없이 ) 을 입력받아 , 언제 끝낼지는 ctrl+z누르면 꺼지던지 아님

 

각자 방법으로 끝나게 한다. 예제 결과창.

 



비율은 해도 좋고 안해도 크게 상관은 없음.

 

 

문제 2.

 

(1). 정수형 숫자를 문자열로 바꾸기.

 

ex) 514 입력 시   -> 출력은 " 오백십사 "입니다.

 

-이상.

'머리쓰기 > 간단한 문제들' 카테고리의 다른 글

히스토그램 그리기.  (0) 2011.07.08
(역)달뱅이 알고리즘  (0) 2011.05.24
For문을 이용(3)  (0) 2011.05.24
문자열관련.  (0) 2011.05.24
For문을 이용(2)  (0) 2011.05.24
For문을 이용(1)  (0) 2011.05.24

Comment +0


1.  n을 입력받았을 때.

if

    n = 5

 

*******      n+2 별표 찍고             

*         *     

*         *      n칸 만큼 띄우고

*         *

*         *      n만큼 \n

*         *

*******

 

2.  문자(알파벳) 를 입력받았을 때

if                                                                 if

     abcd                                                            a

 

*******            문자 +2 별표                          ***

* a      *                                                       *a*

*   b    *            그 안에 문자를                      ***

*     c  *

*       d*

*******




첨부파일은 2번째 문제만.
1번은 중간만 고치면 되니깐...

'머리쓰기 > 간단한 문제들' 카테고리의 다른 글

히스토그램 그리기.  (0) 2011.07.08
(역)달뱅이 알고리즘  (0) 2011.05.24
For문을 이용(3)  (0) 2011.05.24
문자열관련.  (0) 2011.05.24
For문을 이용(2)  (0) 2011.05.24
For문을 이용(1)  (0) 2011.05.24

Comment +0


문제 1.

for문 혹은 while문을 이용하여 다음을 출력하시오.

 

****

****

****

****

 

*

**

***

****

*****

 

          *

        ***

      *****

    *******

  *********


마지막꺼는 피라미드모양임.

'머리쓰기 > 간단한 문제들' 카테고리의 다른 글

히스토그램 그리기.  (0) 2011.07.08
(역)달뱅이 알고리즘  (0) 2011.05.24
For문을 이용(3)  (0) 2011.05.24
문자열관련.  (0) 2011.05.24
For문을 이용(2)  (0) 2011.05.24
For문을 이용(1)  (0) 2011.05.24

Comment +0