#3732: 找不到錯誤


Piova (Piova)

學校 : 國立屏東大學
編號 : 11955
來源 : [114.36.4.10]
最後登入時間 :
2011-06-28 18:53:21
a007. 判斷質數 | From: [163.24.253.73] | 發表日期 : 2010-05-15 20:21

WA, line 1 他說應該是質數我顯示非質數

 #include <stdio.h>

 

int binary_search(int num[], int a, int b, int n)

{

    if(a<=b)

    {

        int t=(a+b)/2;

        if(num[t]==n) return 1;

        if(num[t]>n)  return binary_search(num, a, t-1, n);

        return binary_search(num, t+1, b, n);

    }

    return 0;

}

 

void find_prime_number(int n[])

{

    int i, j, l=0;

    n[0]=2;

    for(i=3;i<=46340;i+=2)

    {

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

            if(!(i%n[j]))    break;

        if(j>l)

            n[++l]=i;

    }

}

 

int main()

{

    int n, num[4792];

    find_prime_number(num);

    while(scanf("%d", &n)!=EOF)

    {

        if(binary_search(num, 0, 4791, n))

            printf("質數\n");

        else

            printf("非質數\n");

    }

    return 0;

}

 

 
#3733: Re:找不到錯誤


linishan (L)

學校 : 國立交通大學
編號 : 1090
來源 : [104.132.150.102]
最後登入時間 :
2019-05-10 19:57:54
a007. 判斷質數 | From: [125.228.225.80] | 發表日期 : 2010-05-15 21:26

WA, line 1 他說應該是質數我顯示非質數

 #include

 

int binary_search(int num[], int a, int b, int n)

{

    if(a<=b)

    {

        int t=(a+b)/2;

        if(num[t]==n) return 1;

        if(num[t]>n)  return binary_search(num, a, t-1, n);

        return binary_search(num, t+1, b, n);

    }

    return 0;

}

 

void find_prime_number(int n[])

{

    int i, j, l=0;

    n[0]=2;

    for(i=3;i<=46340;i+=2)

    {

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

            if(!(i%n[j]))    break;

        if(j>l)

            n[++l]=i;

    }

}

 

int main()

{

    int n, num[4792];

    find_prime_number(num);

    while(scanf("%d", &n)!=EOF)

    {

        if(binary_search(num, 0, 4791, n))

            printf("質數\n");

        else

            printf("非質數\n");

    }

    return 0;

}

 


Um ..

基本上這題用不到二分搜 ..

你建質數表的地方有點怪

你可以參考

http://www.csie.ntnu.edu.tw/~u91029/Prime.html

 
#3734: Re:找不到錯誤


Piova (Piova)

學校 : 國立屏東大學
編號 : 11955
來源 : [114.36.4.10]
最後登入時間 :
2011-06-28 18:53:21
a007. 判斷質數 | From: [163.24.253.73] | 發表日期 : 2010-05-16 10:25

 

Um ..

基本上這題用不到二分搜 ..

你建質數表的地方有點怪

你可以參考

http://www.csie.ntnu.edu.tw/~u91029/Prime.html


感謝你的建議呀~ 
ZeroJudge Forum