标题:这个问题请大虾们真帮忙解决啊 有高分
只看楼主
墨香555
Rank: 2
等 级:论坛游民
帖 子:115
专家分:31
注 册:2010-10-21
结帖率:96.15%
已结贴  问题点数:20 回复次数:3 
这个问题请大虾们真帮忙解决啊 有高分
#include"stdio.h"
void main()
{
    int i,j;
    for(i=3;i<=100;i++)
    {
        for(j=2;j<=i-1;j++)
        
            
            if(i%j==0)
                break;
            if(i==j)
                printf("%4d",i);
        

            
    }
    printf("\n");
中 我把if(i==j)改成if(i%j!=0)为什么就不对啦 如果不改的话 当i=3,j=2时 i也是素数啊 i也不等于j啊  

搜索更多相关主题的帖子: 高分 
2010-11-09 11:28
vandychan
Rank: 15Rank: 15Rank: 15Rank: 15Rank: 15
等 级:贵宾
威 望:18
帖 子:2296
专家分:6418
注 册:2010-8-20
得分:0 
肯定不行啊  一个是真  一个是假
我以为真有高分

到底是“出来混迟早要还”还是“杀人放火金腰带”?
2010-11-09 11:31
pbreak
Rank: 7Rank: 7Rank: 7
等 级:黑侠
威 望:1
帖 子:83
专家分:558
注 册:2007-5-10
得分:20 
首先你要理解 素数是什么?
举例 当i = 3, j = 2 时,这个循环for (j=2;j<=i-1;j++)结束时 i == j 成立。因为是当i == j 或 i 能被 j 整除时里面的循环退出。

if ( i == j )改为 if (i%j != 0)显然不成立, i == j 时 ,(i % j != 0 )为False.
2010-11-09 11:40
墨香555
Rank: 2
等 级:论坛游民
帖 子:115
专家分:31
注 册:2010-10-21
得分:0 
回复 楼主 墨香555
for(i=1;i<=100;i++)循环中 不是先执行语句后才执行i++吗
2010-11-09 19:19



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-325372-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.186393 second(s), 7 queries.
Copyright©2004-2025, BCCN.NET, All Rights Reserved