176, 3/9 ȸ¿ø°¡ÀÔ  ·Î±×ÀΠ 
   ¼Ò¿ï
   http://souldesign.pe.kr
   [ÀÚÀÛ] [C¹®Á¦] ¼Ò¼ö¸¸ °É·¯³»±â

http://www.hackerschool.org/HS_Boards/zboard.php?id=Free_Lectures&no=1440 [º¹»ç]


[filtering_prime_number.c]

Q. ÀÔ·ÂÆÄÀÏ¿¡ ÀÔ·ÂµÈ ¼ýÀÚµé Áß ¼Ò¼ö(Prime Number)¸¸À» °ñ¶ó³» Ãâ·ÂÇ϶ó.

<ÀÔ/Ãâ·ÂÆÄÀÏ ¿¹>
[input.txt]
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30

[output.txt]
2 3 5 7 11 13 17 19 23 29


A. ¿¹Á¦¼Ò½º

#include <stdio.h>
#include <string.h>
#include <math.h> //sqrt(Á¦°ö±Ù, ·çÆ®)¸¦ »ç¿ëÇϱâ À§ÇØ math.h ÀÎŬ·çµå

const int MAX_SIZE = 255; //»ó¼ö¸¦ const·Î Á¤ÀÇ

int isPrimeNum(int num); //ÇÔ¼öÀÇ ¿øÇü ¼±¾û

int main(void) {
        file * input = fopen("input.txt", "r"); //ÀÔ·Â ÆÄÀÏ
        file * output = fopen("output.txt", "w"); //Ãâ·Â ÆÄÀÏ

        char txt[MAX_SIZE]; //input.txtÀÇ ³»¿ëÀ» ÀúÀåÇÒ ¹®ÀÚ¿­
        char tmp[10] = ""; //·çÇÁ¸¦ µ¹¶§¸¶´Ù »ý±â´Â ¼ýÀÚ¸¦ ÀúÀå
        char nums[MAX_SIZE]; //¼Ò¼öµéÀ» ÀúÀåÇÒ ¹®ÀÚ¿­, Ãâ·Â¿¡ »ç¿ë

        fgets(txt, sizeof(txt), input); //input.txt >> txt
        
        int i;
        for(i=0; i<=strlen(txt); i++) {
                if(txt[i] != ' ' && txt[i] != '\0') { //txtÀÇ i¹ø° ¹®ÀÚ°¡ °ø¹é(' ')ÀÌ ¾Æ´Ï°í ³Î¹®ÀÚ°¡ ¾Æ´Ò ¶§
                        tmp[strlen(tmp)] = txt[i]; //tmp¿¡ txtÀÇ i¹ø° ¹®ÀÚ¸¦ Ãß°¡
                } else {
                        if(isPrimeNum(atoi(tmp)) == 1) { //tmp¿¡ ÀúÀåµÈ ³»¿ëÀ» ¼ýÀÚ·Î ¹Ù²Û °Í(atoi)ÀÌ ¼Ò¼öÀÏ ¶§
                                //¼ýÀÚ¸¦ ±¸ºÐÇϱâ À§ÇÑ °ø¹é Ãß°¡
                                if(strlen(nums) != 0)
                                        strcat(nums, " ");

                                strcat(nums, tmp); //nums ¹®ÀÚ¿­¿¡ tmp Ãß°¡
                        }
                        memset(tmp, 0, sizeof(tmp)); //tmpÀÇ ³»¿ëÀ» ÃʱâÈ­
                        
                }
        }

        fprintf(output, nums);
        
        fclose(input);
        fclose(output);

        return 0;
}

//ÀÎÀÚ·Î ¹ÞÀº numÀÌ ¼Ò¼öÀÏ ¶§ 1À» ¸®ÅÏÇÔ
int isPrimeNum(int num) {
        if(num == 1 || num == 0) //numÀÌ 0 ¶Ç´Â 1ÀÏ ¶§ ÇÕ¼º¼ö
                return 0;

        //¡înum¸¸Å­ i¸¦ µ¹·Á¼­ ³ª´©¾î¶³¾îÁö´Â ¼ö°¡ ÀÖÀ¸¸é ÇÕ¼º¼ö
        int i;
        for(i=2; i<=sqrt(num); i++) {
                if(num%i == 0)
                        return 0;
        }

        return 1;
}

  Hit : 8085     Date : 2010/03/20 05:28



    
Myers ±»~ 2010/03/21  
Cpgroot ÁÁÀºÁ¤º¸ °¨»çÇÕ´Ï´Ù. 2010/08/18  
136   [Æß]¸®´ª½º ¸í·É¾î ¸ðÀ½ -3     G.O.D
08/28 10331
135   [Æß]¸®´ª½º ¸í·É¾î ¸ðÀ½ -2     G.O.D
08/28 7456
134   [Æß]¸®´ª½º¸í·É¾î ¸ðÀ½ -1[3]     G.O.D
08/28 7532
133   ÇØÅ·±â¹ýµéÀÇ ±âº»ÀûÀÎ °³³ä::IPC ½º´ÏÇÎ(IPC Sniffing),ÄÚµåÆÐÄ¡(Code patch)Æí.     Feverbear
08/28 8213
132   ¸®´ª½º vi ¿¡µðÅÍ°¡ ¾î·Á¿ì½Å ºÐµé²²![3]     o¿£¿äo
08/26 7461
131   [ÀÚÀÛ] W's ¾ÏÈ£ÇÐ(Cryptology) - ¸ð½ººÎÈ£.[8]     williamlee
07/26 10908
130   Windows XP - ÇØÅ· »çÀü ŽÁö ¹æ¹ý [ °£´ÜÇÑ Ãʺ¸ TIP ] 2[11]     Ǫ¸¥ÇÏ´Ã
06/17 8741
129   Windows XP - ÇØÅ· »çÀü ŽÁö ¹æ¹ý [ °£´ÜÇÑ Ãʺ¸ TIP ][11]     Ǫ¸¥ÇÏ´Ã
06/17 9836
128   [¿¬½À¿ë CÀÚÀÛ] ½ºµµÄí ¼Ò½º[5]     Ilios
05/24 20088
  [ÀÚÀÛ] [C¹®Á¦] ¼Ò¼ö¸¸ °É·¯³»±â[2]     ¼Ò¿ï
03/20 8084
126   [ÀÚÀÛ] [C¹®Á¦] Á¡(.)À» »« ¹®ÀÚ Ãâ·ÂÇϱâ[1]     ¼Ò¿ï
03/20 6880
125   [ÀÚÀÛ]RedHat 6.2 ȯ°æ¿¡¼­ BOF exploit ¸¸µé±â[6]     buff3r
03/17 13404
124   [ÀÚÀÛ]À©µµ¿ì!! ¼û°ÜÁø ³ÊÀÇ ¸ð½ÀÀ» º¸¿©Áà!!! - 5 -[6]     º°ºûÀ»´ã¾Æ
03/02 7161
123   [ÀÚÀÛ] FTZ Æ®·¹ÀÌ´× 1~10±îÁö °£´ÜÇÏ°Ô Á¤¸®[14]     ¼Ò¿ï
03/01 15123
122   [Á¤¸®] ÇØÄ¿½ºÄð F.T.Z trainer Á¤¸® 6 ~ 10[2]     ÃÊÄÝ·¿³ªÀÎ
03/01 18151
121   [ÀÚÀÛ]ÇØÄ¿½ºÄð 2th ÇØÅ·Ä·ÇÁ Mini CTF Ç®ÀÌ[25]     CodeAche
02/22 7724
120   BT3¿Í BT4¸¦ ¸ÖƼºÎÆà Çغ¸ÀÚ.[6]     kjwon15
02/22 8143
119   [ÀÚÀÛ]±¸±Û±³ ±³ÁÖÀÇ ±¸±Û ½Åµµµé¿¡°Ô º¸³»´Â ÆíÁö[14]     Sc0rpion
02/17 7513
118   [ÀÚÀÛ]À©µµ¿ì!! ¼û°ÜÁø ³ÊÀÇ ¸ð½ÀÀ» º¸¿©Áà!!! - 4 -[18]     º°ºûÀ»´ã¾Æ
02/17 7511
117   [ÀÚÀÛ] ssh / sftp »ç¿ë¹ý Á¤¸® (Æ÷Æ®¼³Á¤½Ã)[1]     soohosin
02/15 21302
[ÀÌÀü °Ë»ö]...[1][2] 3 [4][5][6][7][8][9]

Copyright 1999-2024 Zeroboard / skin by Hackerschool.org / Secure Patch by Hackerschool.org