求100内的素数,有错误,小弟求助: 帮我改一下!
#include"math.h"
voidshaifa(inta[101])
{inti,j;
for(i=1;i<=100;i++)a[i]=i;
for(a[1]=0,i=2;i<=sqrt(100);i++)
if(a[i]!=0)
{j=i+1;
while(j<=100)
{if(a[j]!=0&&a[j]%a[i]==0)a[j]=0;
j=j+1;}
}
用筛法的
搜索更多相关的解决方案:
素数
----------------解决方案--------------------------------------------------------
主函数都没有啊
----------------解决方案--------------------------------------------------------
一片混乱
1.for语句不对
2.第三行
3。最后一行if语句用法不对。既然寻找素数,应该输出它的结果,怎么更改数组了??
----------------解决方案--------------------------------------------------------
索数?什么东西啊?
----------------解决方案--------------------------------------------------------
素数,就是不被整除的数
比如3是素数,33不是素数,因为33能被11整除
----------------解决方案--------------------------------------------------------
for 是有不对啊,
还有int i,j;
不懂怎么改了,数组是难啊,我不是很懂的.
高手改一下!
----------------解决方案--------------------------------------------------------
[CODE]#include <stdio.h>
#include <math.h>
void main()
{
int i,j,k;
for(i=1;i<=100;i++)
{
k=(int)sqrt(i); //开平方
for(j=2;j<=k;j++)
{
if(i%j==0)
break;
if(j==k) //J等于K的时候,还没被整除就打印
printf("%d\t",i);
}
}
}[/CODE]
----------------解决方案--------------------------------------------------------