ÇÁ·Î±×·¡¹Ö

 3198, 1/160 ȸ¿ø°¡ÀÔ  ·Î±×ÀΠ 
   yonggari306
   c ÄÚµå ¿À·ùÇØ°áÁ» µµ¿ÍÁÖ¼¼¿ä

http://www.hackerschool.org/HS_Boards/zboard.php?AllArticle=true&no=2811 [º¹»ç]


1ºÎÅÍ 9±îÁö ¼ö¸¦ »ç¿ëÇÕ´Ï´Ù.
Áߺ¹µÇÁö¾Ê°Ô 2°³ÀÇ ¼ö¸¦ °öÇÑ °æ¿ì 2°¡Áö
3°³ÀÇ ¼ö¸¦ °öÇѰæ¿ì 4°¡Áö
¸¦ °¢°¢ ±¸Çؼ­ °°Àº °æ¿ì¸¦ ºñ±³ÇÏ´Â ÄÚµåÀÔ´Ï´Ù.
'¿À·ù' ¸¦ ã±â ÇÏ½Ã¸é ¹Ù·Î ¿À·ù°¡ ¹ß»ýÇÏ´Â ÄÚµå·Î °¥ ¼ö ÀÖ½À´Ï´Ù.

¾Æ·¡´Â ¿À·ù ³»¿ë
0x00f81cd5¿¡ ù° ¿¹¿Ü°¡ ÀÖ½À´Ï´Ù. 0xC0000005: 0xa3f2fc20 À§Ä¡¸¦ ±â·ÏÇÏ´Â µ¿¾È ¾×¼¼½º À§¹ÝÀÌ ¹ß»ýÇß½À´Ï´Ù.
0x00f81cd5¿¡ 󸮵ÇÁö ¾ÊÀº ¿¹¿Ü°¡ ÀÖ½À´Ï´Ù. 0xC0000005: 0xa3f2fc20 À§Ä¡¸¦ ±â·ÏÇÏ´Â µ¿¾È ¾×¼¼½º À§¹ÝÀÌ ¹ß»ýÇß½À´Ï´Ù.

ÀÌ°É ÄÚµùÇϸ鼭 Çѹø ¹ß»ýÇÑ ÀûÀÌ ÀÕ´Â ¿À·ùÀε¥ ¾îµð¼­ À߸øµÈÁö ãÀ»¼ö°¡ ¾ø½À´Ï´Ù.
ÇØ°áÁ» µµ¿ÍÁÖ¼ÌÀ¸¸é ÇØ¼­ ±ÛÀ» ¿Ã·È½À´Ï´Ù.

#include<stdio.h>
void twice(int *sav,int *cnt);
void twice1(int *arr,int *sav,int *cnt);
void thrice1(int *arr,int *sav,int *cnt);
void compare(int *sav1,int *sav2);
void thrice(int *sav,int *cnt);
void delol(int *sav,int *cnt);
void print(int *sav,int *cnt);
void lineup(int *sav,int *cnt);

void main()
{
        int arr[500]={0,};
        int cnt=0;
        
        
        twice(arr,&cnt);
        thrice(arr,&cnt);
        delol(arr,&cnt);
        lineup(arr,&cnt);
        print(arr,&cnt);

}
void twice(int *sav,int *cnt)
{
        int i,j;
        int c;
        c=*cnt;
        for(i=1;i<9;i++)
        {
                for(j=1;j<=9;j++)
                {
                        if(j>i)
                        {
                                sav[c]=i*j;
                                c++;
                        }
                }
        }
        *cnt=c;
        
}
void thrice(int *sav,int *cnt)
{
        int i,j,k;
        int c;
        c=*cnt;
        
        for(i=1;i<8;i++)
        {
                for(j=1;j<9;j++)
                {
                        if(j<i)
                        {
                                for(k=1;k<=9;k++)
                                {
                                        sav[c]=i*j*k;
                                        c++;
                                }
                        }
                }
        }
        *cnt=c;
        
}
void delol(int *sav,int *cnt)
{
        int i,j,k;
        int c;
        c=*cnt;

        for(i=0;i<=c;i++)
        {
                for(j=i+1;j<=c;j++)
                {
                                if(sav[i]==sav[j])
                                {
                                        sav[j]=0;
                                        for(k=j+1;k<=c;k++)
                                        {
                                                sav[k-1]=sav[k];
                                        }
                                        c--;
                                }
                }
        }
        *cnt=c;
}

void lineup(int *sav,int *cnt)
{
        int i,j;
        int temp;
        int c;
        c=*cnt;

        for(i=0;i<=c;i++)
        {
                for(j=i+1;j<=c;j++)
                {
                        if(sav[i]>sav[j])
                        {
                                temp=sav[i];
                                sav[i]=sav[j];
                                sav[j]=temp;
                        }
                        
                }
        }
        *cnt=c;
}

void print(int *sav,int *cnt)//¾à¼ö°¡ 5Àΰæ¿ì ÇÊÅ͸µ
{
        int i,j;
        int arr[100]={0,};
        int arr2[7];
        int q=0;
        int *c;
        int cnt1,cnt2;
        c=cnt;
        int count=0;
        for(i=1;i<=*c;i++)
        {
                //printf("%-4d-",sav[i]);
                for(j=1;j<=9;j++)
                {
                        if(sav[i]%j==0)
                        {
                                //printf("%3d",j);
                                if(j<10)
                                {        
                                        if(j==5)
                                                count=0;
                                        arr2[count]=j;
                                        count++;
                                        
                                }
                                        
                        }
                }
                /*if(count!=0)
                {
                        printf("\nCount - %d",count);
                        printf("\n");
                        
                }*/
                if(count>=7)
                {
                        int two[7],three[7];
                        int sav1[42],sav2[210];
                                cnt1=0;
                                cnt2=0;
                                twice1(sav1,two,&cnt1);
                                thrice1(sav2,three,&cnt2);
                                compare(sav1,sav2);

                        
                }
                count=0;

        }
        
        /*for(i=0;i<q;i++)
        {
                printf("%4d - %-2d°³\n",arr[i],index[i]);
                
        }*/
        printf("\n\n\n\n\n\n\n\n\n\n");
}

void twice1(int *arr,int *sav,int *cnt)
{
        int i,j;
        int c;
        c=*cnt;
        for(i=0;i<6;i++)
        {
                for(j=i+1;j<7;j++)
                {
                                sav[c]=arr[i]*arr[j];
                                c++;
                }
        }
        
        
}
void thrice1(int *arr,int *sav,int *cnt)
{
        int i,j,k;
        int c;
        c=*cnt;
        
        for(i=0;i<5;i++)
        {
                for(j=i+1;j<6;j++)
                {
                                for(k=j+1;k<7;k++)
                                {
¡Ú¡Ù¿À·ù                                sav[c]=arr[i]*(arr[j])*(arr[k]);
                                        c++;
                                }
                        
                }
        }
        
        
}


void compare(int *sav1,int *sav2)
{
        int cnt1=0,cnt2=0;
        int i,j;
        for(i=0;i<41;i++)
        {
                for(j=i+1;j<42;j++)
                {
                        if(sav1[i]==sav1[j])
                        {
                                cnt1++;
                                sav1[j]=0;
                                if(cnt1>=2)
                                        printf("%d\n",sav1[i]);
                        }
                }
        }
        for(i=0;i<209;i++)
        {
                for(j=i+1;j<210;j++)
                {
                        if(sav2[i]==sav2[j])
                        {
                                cnt2++;
                                sav2[j]=0;
                                if(cnt2>=4)
                                        printf("%d\n",sav2[i]);
                        }
                }
        }
}


  Hit : 4243     Date : 2010/12/21 01:40



    
sedcreta Àú Á˼ÛÇÏÁö¸¸...ÇØ°áÀº ¸øÇص帮±¸ Áú¹®¸¸ ÇÒ°Ô¿ä~

C°¡ Á¤¼öÇü º¯¼öÀε¥...¹øÁö¸¦ ¹ÞÀ»¼öÀÖ³ª¿ä???
2010/12/21  
dawon15 void thrice1(int *arr,int *sav,int *cnt)
{
int i,j,k;
int c;
c=*cnt;

for(i=0;i<5;i++)
{
for(j=i+1;j<6;j++)
{
for(k=j+1;k<7;k++)
{
¡Ú¡Ù¿À·ù sav[c]=arr[i]*(arr[j])*(arr[k]);
c++;
}
}
}
}


Äڵ带 Â÷±ÙÂ÷±Ù º¸½Ã¸é ´äÀº ³ª¿À±ä ÇÏÁö¸¸
Á¶±Ý º¹ÀâÇѵ¥ ...
Æ÷ÀÎÅÍ¶óµµ °øºÎÇÏ°í °è½Å °Ç°¡¿ä?

¶µç

thirce1 ÇÔ¼ö ¾È¿¡¼­ sav ±× ÀÌÀü ÇÔ¼ö¿¡¼­ int[7] ÀÌ¿´ÁÒ?
±×·¡¼­ ¸¶Áö¸· Áßø ·çÇÁ (for(k=j+1;k<7;k++))°¡ k°¡ 7º¸´Ù ÀÛÀ» °æ¿ìÁÒ
±×¸®°í ±× ¾È¿¡¼­ c ¸¦ 1 Áõ°¡Çϴµ¥

À½
ÄÚµå µû¶ó°¡¸é¼­ ¼³¸íÇØµå¸±²²¿ä

1. for(i=0;i<5;i++) {
for(j=i+1;j<6;j++) {
for(k=j+1;k<7;k++) { // ¿©±â±îÁö ¿À¸é k´Â 2°í ºÎÅÍ sav[4] ±îÁö ¾î¶°ÇÑ °ªÀÌ ÀúÀåµÇ¾îÀÖ½À´Ï´Ù.
sav[c]=arr[i]*(arr[j])*(arr[k]);
c++; // ±×µ¿¾È c´Â 5°¡ µË´Ï´Ù
}
}
}
2. for(i=0;i<5;i++) {
for(j=i+1;j<6;j++) { // ¿©±â¼­ j °¡ 1 Áõ°¡
for(k=j+1;k<7;k++) { // k´Â 3
sav[c]=arr[i]*(arr[j])*(arr[k]); // sav[5] ¿¡ ¹º°¡ ÀúÀå
c++; // c´Â 6ÀÌ µÇ°í
}
}
}

3. 2¹ø ½ºÅÜ ¹Ýº¹ (k´Â 4, sav[6]¿¡ ¹º°¡ ÀúÀå, c´Â 7)

4. for(i=0;i<5;i++) {
for(j=i+1;j<6;j++) {
for(k=j+1;k<7;k++) { // k´Â 5
sav[c]=arr[i]*(arr[j])*(arr[k]); // sav[7] -- ÇÒ´çµÇÁö ¾ÊÀº ¸Þ¸ð¸®. ÀúÀå ºÒ°¡. ·±Å¸ÀÓ ¿¡·¯
c++;
}
}
}


´ë·« ÀÌ·± »óȲÀÔ´Ï´Ù.

»ç½Ç ÀÌ ¿Ü¿¡µµ ³í¸®ÀûÀÎ ¿À·ù°¡ ÀÖ´Â °Í °°Àºµ¥
ÀÏ´Ü ±× ºÎºÐÀº »ý·«Çϵµ·Ï ÇÒ°Ô¿ä.
2010/12/22