要求输出1到100之间所有素数

作者在 2013-11-06 17:20:22 发布以下内容

 

#include<stdio.h>
int main()
{
    int a,b,y;
    y=0;
    for(a=2;a<100;a++)
    {
         y=0;
         for(b=2;b<a;b++)
         {
               if(a%b==0)
               y=1;
               break;               
         }
         if(a>2&&y==0)
         printf(" %d",a);                 
    }
    getch();
    return 0;  
}
为什么输出不对啊

默认分类 | 阅读 2521 次
文章评论,共4条
scymore
2013-11-06 22:26
1
你看一下吧,我在其他地方复制的!算法我也忘了!
void main() 

int t,i,j; 
for(i=3;i<=100;i++) 
{
t=1; 
for(j=2;j<=(i/2);j++) 
if(i%j==0) 
t=0; 
if(t==1)
printf("%d ",i); 
}
}
slysina
2013-11-08 15:11
2
唔,这个我写上去上面总是说有误,不能执行
wu2782641803
2013-11-09 20:51
3
getch; 去掉  
wangshui125
2013-12-01 20:09
4
void main()
{
int n,i,j;
for(i=2;i<=100;i++)/*取数2-100*/
{
    n=0;
    for(j=1;j<i;j++)/*从0到i-1*/
    {
    if(i%j==0)/*看能否整除*/
    n+=j    /*能整除就加到n中*/
        }    
    if(n==1)/*判断n的值,如果为1证明只能被1整除(这里没有整除自己的,所以只有1),如果不为1就不是素数*/
    printf("%d  ",i);
    }    
    }
游客请输入验证码
文章分类
文章归档