1577, 79/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 : 8749     Date : 2014/10/26 12:37
[불법/스팸글로 신고하기]



    
ehaakdl 재밋네여 혹시 같이 온라인이나 오프라인으로 스터디 하실래여? 요즘 프로그래밍하기가 귀찮아져서 이런 모임좀 가져볼려는데 리눅스도 하고 관심 있으시면 ehaakdl@naver.com메일이나 쪽지 주세여 2014/11/10  
gohuns123 굿 2015/01/14  
17   [강추] 해킹 관련 여러가지 사이트[5]     6Moderato
09/04 12360
16   새로운 인터넷 보안법 VPN!![6]     6Moderato
09/06 8551
15   [CTF]커스텀 웹 브라우져 풀이     4irjuno
09/09 33524
14   [정보] 윈도우 달력 프로그램[3]     4irjuno
09/09 35151
13   플래쉬를 이용한 xss 해킹[3]     4irjuno
09/23 35121
12   윈도우 데몬 좋은프로그램ㅋ     4irjuno
07/31 6685
11   [CTF] 기괴한 음악 풀이[3]     4irjuno
09/09 35786
10   [CTF] 슈팅게임이 조아요.     4irjuno
09/09 34192
9   [CTF] 내가 누군지 아니?     4irjuno
09/09 33862
8   시스템 해킹 공부방법이 궁금합니다.[1]     39ghwjd
09/12 5345
7   취약점 분석을 전문으로 하고 싶은데...     39ghwjd
09/12 4834
6   관련 정보도 어디서 얻을 수 있는지?[1]     39ghwjd
09/12 4467
5   학교에서 배우는 것에는 한계가 있어서...[2]     39ghwjd
09/12 4755
4   그저 좋은 내용이라서. 그리고 공부하는 데있어기본이라서. 꼭. 스택의 구조입니다. 기초이지만 저에겐 좋은 내용이었네요.     31337해커스
09/13 9990
3   포인트가 필요해서요 ㅠ[1]     31337해커스
07/29 7400
2   일단 먼저 양해를 구하고 싶습니다.[1]     1LYG1
12/07 4169
  소수 구하는 프로그램[2]     0226daniel
10/26 8748
[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