| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 589 人关注过本帖
标题:输出结果不对~不知道为什么...
只看楼主 加入收藏
小环
Rank: 1
等 级:新手上路
帖 子:9
专家分:0
注 册:2010-4-10
结帖率:100%
收藏
已结贴  问题点数:20 回复次数:8 
输出结果不对~不知道为什么...
输出1-100内的素数
#include "stdio.h"

int main()
{int a,b;
for(a=1;a<=100;a++)
    for(b=2;b<=100;b++)
        if(a!=b&&a%b!=0)
            printf("%d\n",a);
    return 0;
}

输出结果不对   不知道为什么~
搜索更多相关主题的帖子: 结果 输出 
2010-04-17 20:51
cnfarer
Rank: 16Rank: 16Rank: 16Rank: 16
等 级:版主
威 望:179
帖 子:3330
专家分:21157
注 册:2010-1-19
收藏
得分:2 
"a!=b&&a%b!=0"根本不符合判断素数的条件!

★★★★★为人民服务★★★★★
2010-04-17 21:01
小环
Rank: 1
等 级:新手上路
帖 子:9
专家分:0
注 册:2010-4-10
收藏
得分:0 
回复 楼主 小环
素数不是除了1和本身不能被其他数整除的数吗???
2010-04-17 21:04
b001lcp
Rank: 3Rank: 3
等 级:论坛游侠
帖 子:45
专家分:157
注 册:2010-3-17
收藏
得分:0 
for(a=1;a<=100;a++)
    if (2 == a)//最小的素数是2
        printf("%d\n",a);
    for(b = 2; b < a; b++)
    {
        if (a%b == 0) //a能整除b,则a不是素数,进入下次循环
            break;
    }
    if (a == b)//此时,a没有被小于a的整数整除,因此a是素数
    {
        printf("%d\n",a);
    }
2010-04-17 22:51
小环
Rank: 1
等 级:新手上路
帖 子:9
专家分:0
注 册:2010-4-10
收藏
得分:0 
回复 4楼 b001lcp
不对呀。。。
2010-04-17 23:21
cnfarer
Rank: 16Rank: 16Rank: 16Rank: 16
等 级:版主
威 望:179
帖 子:3330
专家分:21157
注 册:2010-1-19
收藏
得分:0 
这样就行了
for(a=1;a<=100;a++){
    if (2 == a)//最小的素数是2
        {printf("%d\n",a);continue;}
    for(b = 2; b < a; b++)
    {
      if (a%b == 0) //a能整除b,则a不是素数,进入下次循环
            break;
      if (a == b)//此时,a没有被小于a的整数整除,因此a是素数
          printf("%d\n",a);
    }
}

★★★★★为人民服务★★★★★
2010-04-18 07:59
cnfarer
Rank: 16Rank: 16Rank: 16Rank: 16
等 级:版主
威 望:179
帖 子:3330
专家分:21157
注 册:2010-1-19
收藏
得分:2 
回复 3楼 小环
比如a=15,b=13,此进该表达式为真,但15不是素数!

★★★★★为人民服务★★★★★
2010-04-18 08:01
b001lcp
Rank: 3Rank: 3
等 级:论坛游侠
帖 子:45
专家分:157
注 册:2010-3-17
收藏
得分:15 
for(a=1;a<=100;a++)
{
    if (2 == a)//最小的素数是2,然后继续下次循环
    {
        printf("%d\n",a);
        continue;
    }
    for(b = 2; b < a; b++)
    {
        if (a%b == 0) //a能整除b,则a不是素数,进入下次循环
            break;
    }
    if (a == b)//此时,a没有被小于a的整数整除,因此a是素数
    {
        printf("%d\n",a);
    }
}
2010-04-18 09:16
luochengwww
Rank: 2
等 级:论坛游民
帖 子:40
专家分:48
注 册:2010-3-31
收藏
得分:1 
for(a=1;a<=100;a++)
{
    if (2 == a)//最小的素数是2,然后继续下次循环
    {
        printf("%d\n",a);
        continue;
    }
    for(b = 2; b < a; b++)
    {
        if (a%b == 0) //a能整除b,则a不是素数,进入下次循环
            break;
    }
    if (a >= b)//此时,a没有被小于a的整数整除,因此a是素数
    {
        printf("%d\n",a);
    }
}
2010-04-18 11:13
快速回复:输出结果不对~不知道为什么...
数据加载中...
 
   



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

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