当前位置: 代码迷 >> C语言 >> 求助程序
  详细解决方案

求助程序

热度:88   发布时间:2005-09-21 16:04:00.0
求助程序
大家哪位愿意帮我写一执行效率最高的求1--100素数的程序,谢谢
----------------解决方案--------------------------------------------------------

#include <stdio.h>

void main() //判断100以内素数 { int i,j,k; printf("2 "); for(i=3;i<100;i+=2) { k=0; for(j=2;j<=i-1;j++) { if(i%j==0) { k=1; break; } } if(!k) { printf("%d ",i); } } }


----------------解决方案--------------------------------------------------------
楼上的代码中j&lt;=sqrt(i)就可以了。其实100以内的素数嘛,之际输出就可以了,哈哈。
比如:
#include &lt;stdio.h&gt;
#include &lt;stdlib.h&gt;
void main()
{
      int a[]={2,3,5,7,11,13,17,19,23,29,31,37,41,43,47,53,59,61,67,71,73,79,83,89,97};
      int i = 0;
      for(; i &lt; sizeof(a)/sizeof(int); i++)
         printf("%d,",a[i]);
     printf("\n");
     system("pause");
}
哈哈。

或者用

#include &lt;stdio.h&gt;
#include &lt;stdlib.h&gt;
void main()
{
    int a[]={2,3,5,7};
    int i=0, j = 0;
    bool flag = false;
    printf("2,3,5,7");
    for(j = 8; j &lt; 100;j++)
    {
        flag = false;
        for(i = 0; i &lt; 4; i++)
            if(j % a[i] == 0)
            {
                flag = true;
                break;
            }
        if(flag)
            continue;
        printf(",%d",j);
    }
     printf("\n");
     system("pause");
}

----------------解决方案--------------------------------------------------------
怎么样效率才最高啊
----------------解决方案--------------------------------------------------------
结果正确的前提下,耗费的时间、空间越小,效率越高
----------------解决方案--------------------------------------------------------
以下是引用jackrain在2005-9-22 10:31:11的发言: 楼上的代码中j<=sqrt(i)就可以了。其实100以内的素数嘛,之际输出就可以了,哈哈。 比如: #include <stdio.h> #include <stdlib.h> void main() { int a[]={2,3,5,7,11,13,17,19,23,29,31,37,41,43,47,53,59,61,67,71,73,79,83,89,97}; int i = 0; for(; i < sizeof(a)/sizeof(int); i++) printf("%d,",a[i]); printf("\n"); system("pause"); } 哈哈。
呵呵,这就是传说中的[作弊]吧~!
----------------解决方案--------------------------------------------------------
不好意思,昨天没过来看
一来就看到这么多恢复。感激~~~~不尽
再次谢谢诸位
----------------解决方案--------------------------------------------------------
  相关解决方案