1577, 74/79 회원가입  로그인  
   0226daniel
   소수 구하는 프로그램

http://www.hackerschool.org/HS_Boards/zboard.php?id=Free_Lectures&no=8069 [복사]


중 1 수학시간에 학교에서 소수를 배우는데,

배우는 도중 문득 c언어 코드가 생각나서 집에와서 한번 만들어 보았습니다.

일단 소스를 보시죠.


Colored By Color Scripter™
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
        
#include <stdio.h>
void main()
{
    unsigned long long i, j, count = 1, s_max;
    long sum = 0;
    FILE *out;
    out = fopen("a.txt", "w");
    printf("어디까지의 소수를 출력하시겟습니까?");
    scanf("%lld", &s_max);

    for(i=1;i<=s_max;i++){
        for(j=2;j<i;j++){
            if((i%j)==0)
                break;
        }
        if(i==j){
            fprintf(out, "%lld\t", i);
            printf("%lld\t", i);
            count++;

            if((count%8)==0)
                fprintf(out, "\n");
                printf("\n");
        }
    }
    fprintf(out, "\n1부터 %lld 까지의 소수는 %lld개 입니다.", s_max, count);
    printf("\n1부터 %lld 까지의 소수는 %lld개 입니다.", s_max, count);
    fclose(out);
}



모든 숫자를 데입해서 소수를 찾는 형식으로 한 결과







역시 성공적이였습니다!!

하지만 더 큰 숫자를 하게 되면







이와 같이 매우 느린 속도로 연산을 하게 됩니다.​

그래서!!

다시 만들게 되었습니다.​


Colored By Color Scripter™
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
31
32
33
34
35
        
#include<stdio.h>

int main()
{
    FILE *out;
    out = fopen("a.txt", "w");
    unsigned int n, x, y, count=0;
    printf("어디까지의 소수를 출력하시겟습니까?");

    scanf("%d", &n);
    x=1;
    if(n>0){
        fprintf(out, "2\t");
        printf("2\t");
        count++;
    while(x+2<n) {
        x+=2;
        y=3;
        while(y*y<x && x%y!=0){
            y+=2;
        }
        if(y*y>x) {  
            fprintf(out, "%d\t", x);
            printf("%d\t", x);
            count++;
            if((count%8)==0){
                fprintf(out, "\n");
                printf("\n");
            }
        }
    }
    fprintf(out, "\n1부터 %d 까지의 소수는 %d개 입니다.", n, count);
    return 0;
    }
}



이 방법은 2를 제외한 홀수들만 찾는 형식입니다.

과연 이 방법은 효과가 있을까요??







역시 확연한 차이를 보이네요

이상입니다^^

그림&동영상을 보시려면 http://blog.naver.com/0226daniel/220035729531

  Hit : 9059     Date : 2014/10/26 12:37



    
ehaakdl 재밋네여 혹시 같이 온라인이나 오프라인으로 스터디 하실래여? 요즘 프로그래밍하기가 귀찮아져서 이런 모임좀 가져볼려는데 리눅스도 하고 관심 있으시면 ehaakdl@naver.com메일이나 쪽지 주세여 2014/11/10  
gohuns123 굿 2015/01/14  
117   사회공학[2](목표와 공격, 전화를 이용한 사회공학 공격)[7]     idl0521
10/06 8002
116   사회공학[3]덤스터 다이빙[8]     idl0521
10/06 8290
115   사회공학[4]온라인상에서의 사회공학[8]     idl0521
10/07 7813
114   사설네트워크의 주소[7]     kaca2100
10/20 6174
113   새로운 인터넷 보안법 VPN!![6]     6Moderato
09/06 8710
112   상속, 오버라이딩, 다중상속     tmdrbs9021
10/13 8304
111   셧다운 프로그램 (제가 만들었습니다 ㅋㅋㅋ)[9]     benkim
04/16 8021
110   소켓 프로그래밍[5]     소유
09/11 15444
  소수 구하는 프로그램[2]     0226daniel
10/26 9058
108   소스코드를 올릴 때     solver
10/22 7066
107   소스값과 극한을 이용한 확률 lim x가 극한으로 가는 사건의 필연성     jjang2437
06/14 7399
106   서버관리시 중요한 kill 명령어[2]     rootguy
12/10 10304
105   서버용량이 부족할때 파일용량 큰 순위 100위 찾아서 파일로 만들기     rootguy
12/28 7729
104   서비스 거부 공격     Nuker
12/28 6060
103   서울 , 경기 지역에서 해킹 스터디 같이 하실분 모집합니다~[1]     loveaaav
03/24 7527
102   서울, 경기 해킹 스터디원 모집합니다.[5]     Angeldust12
11/19 8217
101   시작했습니다.[1]     dhuh
03/02 7017
100   시스템 해킹[2]     phan_tom0
12/02 9411
99   시스템 해킹 + 리버싱 공부 가이드[1]     libera826
12/25 6070
98   시스템 해킹 공부방법이 궁금합니다.[1]     39ghwjd
09/12 5588
[1]..[71][72][73] 74 [75][76][77][78][79]

Copyright 1999-2022 Zeroboard / skin by Hackerschool.org / Secure Patch by Hackerschool.org & Wowhacker.com