当前位置: 代码迷 >> C语言 >> 求100内的素数问题
  详细解决方案

求100内的素数问题

热度:111   发布时间:2007-10-18 22:43:31.0
求100内的素数问题
#include<stdio.h>
#include "math.h"
#define N 101
main()
{
int i,j,line,a[N];
for(i=2;i<N;i++)
for(j=i+1;j<N;j++)
{
if(a[i]!=0&&a[j]!=0)
if(a[j]%a[i]==0)
a[j]=0;
}
printf("\n");
for(i=2,line=0;i<N;i++)
{
if(a[i]!=0)
{
printf("%5d",a[i]);
line++;
}
if(line==1)
{
printf("\n");
line=0;
}
}
getch();
}


这程序小弟看的懂,可是运行出来的结果我却不敢恭维!大虾们能给解释下
搜索更多相关的解决方案: 素数  line  include  math  

----------------解决方案--------------------------------------------------------
你再仔细看看,上面的a[]还没有初始化。
----------------解决方案--------------------------------------------------------
这么小一个程序也要想得那么复杂
[CODE]
#include <math.h>
void main()
{
int i, j;
for (i=1; i<101; i++)
{
for (j=2; j<101; j++)// 这个可能写成j<=sqrt(i)+1;为了好理解,我就不这样写了
{
if (i%j == 0)
{
break;
}
else if (j>sqrt(i))
{
printf("%d ", i);
break;
}
}

}

}

[/CODE]
----------------解决方案--------------------------------------------------------
小数据就按素数的定义来做.
----------------解决方案--------------------------------------------------------
我上面写那个,少考虑了那个2,,
----------------解决方案--------------------------------------------------------
除了2,只考虑奇数可以改进一下吧
----------------解决方案--------------------------------------------------------

这个很容易改的,,把第二个if语句放到下面就行了


----------------解决方案--------------------------------------------------------

那个程序也是我看到的,有点不懂。其实程序怎么写都无所谓,复杂简单只要自己能看懂。当然了,谁都喜欢看简单的程序,可是我们在追求简洁的同时,只有不断的提高自己的能力。怎么提高?那就是见到问题就弄懂。 我看那个程序的思路很清晰,虽然写的是复杂了点。但我看重的是他的解题思路。

所以说 还是请哪位大虾给分析下!!!


----------------解决方案--------------------------------------------------------
如果你一定要那样,也是可以的,,

[CODE]
#include<stdio.h>
#include "math.h"
#define N 101
void main()
{
int i,j,line,a[N];
for (i=0; i<N; i++)
{
a[i] = i;
}//初始化
for(i=2;i<N;i++)
for(j=i+1;j<N;j++)
{
if(a[i]!=0&&a[j]!=0)
if(a[j]%a[i]==0)
a[j]=0;
}
printf("\n");
for(i=1,line=0;i<N;i++) //1也是质数吧
{
if(a[i]!=0)
{
printf("%5d",a[i]);
line++;
}
if(line==1)
{
printf("\n");
line=0;
}
}
}

[/CODE]
----------------解决方案--------------------------------------------------------

谢了!!那没初始化的那结果是怎么来的呢 ?


----------------解决方案--------------------------------------------------------
  相关解决方案