| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1429 人关注过本帖
标题:求助~求100-200以内的素数,我的程序为什么只能出来101和103呢
只看楼主 加入收藏
DaikiRyooo
Rank: 1
等 级:新手上路
帖 子:3
专家分:0
注 册:2015-12-22
结帖率:100%
收藏
已结贴  问题点数:20 回复次数:8 
求助~求100-200以内的素数,我的程序为什么只能出来101和103呢
#include<stdio.h>
int main()
{
    int x,i,flag;

    flag=0;
    for(x=100;x<=200;x++){
        for(i=2;i<x;i++){
        if(x%i==0){
        break;
        }
        
        else{
            flag++;
            if(flag==(x-3))
            printf("%d\n",x);
        }
        
    }   
        
}
    return 0;
}
搜索更多相关主题的帖子: 素数 int flag for g++ 
2017-07-10 10:00
a511795071
Rank: 1
等 级:新手上路
帖 子:3
专家分:9
注 册:2017-7-9
收藏
得分:5 
#include <stdio.h>
#include <math.h>

#define uchar unsigned char

void main()
{
    uchar i,j,k;

    for(i=101;i<200;i+=2)
    {
        j=sqrt(i);                 //求出算术平方根
        for(k=2;k<=j;k++)           //用判断的数 除以一个从2到算术平方根的数 若有被整除的 则跳出循环 此数不是素数
        {
            if(i%k==0)
                break;
        }
        if(k>=j+1)                //若都没被整除的数 则此数为素数 输出此数
        {
            printf("%d\t",i);
        }
    }
    printf("\n");
}
2017-07-10 10:06
九转星河
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
来 自:长长久久
等 级:贵宾
威 望:52
帖 子:5023
专家分:14003
注 册:2016-10-22
收藏
得分:15 
回复 楼主 DaikiRyooo
因为flag没有重置~

[code]/*~个性签名:bug是什么意思?bug是看上去没有可能的东西实际上是有可能做到的 就是这样~2018-08-08更~*/[/code]
2017-07-10 10:11
DaikiRyooo
Rank: 1
等 级:新手上路
帖 子:3
专家分:0
注 册:2015-12-22
收藏
得分:0 
回复 2楼 a511795071
嗯嗯~谢谢,不过我主要想知道自己程序哪里有问题~
2017-07-10 10:14
DaikiRyooo
Rank: 1
等 级:新手上路
帖 子:3
专家分:0
注 册:2015-12-22
收藏
得分:0 
回复 3楼 九转星河
非常感谢~
2017-07-10 10:15
章邯
Rank: 2
等 级:论坛游民
威 望:1
帖 子:19
专家分:43
注 册:2016-12-18
收藏
得分:0 
#include <stdio.h>

bool Fac(int n)
{
    for(int i=2;i<n;i++)
    {
        if(n%i==0)
        {
            return false;
        }
    }
   
    return true;
}

int main()
{
    int i;
    for(i=100;i<=200;i++)
    {
        if(Fac(i))
        {
            printf("%d\n",i);
        }
    }
   
    return 0;
}
用函数写
2017-07-10 11:10
章邯
Rank: 2
等 级:论坛游民
威 望:1
帖 子:19
专家分:43
注 册:2016-12-18
收藏
得分:0 
你的程序用了break,直接跳出了一层for循环,应该用continue
2017-07-10 11:16
ab2642560312
Rank: 2
等 级:论坛游民
帖 子:4
专家分:10
注 册:2017-7-10
收藏
得分:0 
回复 3楼 九转星河
if(flag==(x-3))  这个如果改成if(flag==(x-2))或者if(flag==(x-4))if(flag==(x-5))if(flag==(x-6))为什么都对  而且flag对应的每个值都不一样。谢谢赐教!!!
2017-07-10 11:46
九转星河
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
来 自:长长久久
等 级:贵宾
威 望:52
帖 子:5023
专家分:14003
注 册:2016-10-22
收藏
得分:0 
回复 8楼 ab2642560312
把它改成if (flag==x/2)这样试试看能不能理解?~

[code]/*~个性签名:bug是什么意思?bug是看上去没有可能的东西实际上是有可能做到的 就是这样~2018-08-08更~*/[/code]
2017-07-10 12:04
快速回复:求助~求100-200以内的素数,我的程序为什么只能出来101和103呢
数据加载中...
 
   



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

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