| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 2102 人关注过本帖
标题:要求输出素数,求解,看看程序哪个地方出问题了。?
只看楼主 加入收藏
花脸
Rank: 8Rank: 8
等 级:蝙蝠侠
威 望:9
帖 子:788
专家分:907
注 册:2017-1-4
结帖率:95.37%
收藏
已结贴  问题点数:10 回复次数:22 
要求输出素数,求解,看看程序哪个地方出问题了。?
#include<stdio.h>
int main()
{
    int x,y;
    for(x=10;x<21;x++)
    {
        for(y=2;y<x;y++)
        {
            if(x%y!=0)
            printf("%3d",x);
            break;
        }
        
    }
   
    return 0;
}
图片附件: 游客没有浏览图片的权限,请 登录注册
  15不是素数。。。。
2017-01-04 17:16
bjut_Allen
Rank: 9Rank: 9Rank: 9
来 自:平乐园工业技术学校
等 级:蜘蛛侠
威 望:8
帖 子:323
专家分:1223
注 册:2016-10-16
收藏
得分:3 
#include<stdio.h>
int main()
{
    int x,y;
    for(x=10;x<21;x++)
    {
        for(y=2;y<x;y++)
        {
            if(x%y==0)
            break;
        }
        if(x==y)
        printf("%4d",x);
        
    }
    return 0;
}

Code is my life.
2017-01-04 17:44
ClearningC
Rank: 2
等 级:论坛游民
帖 子:98
专家分:43
注 册:2016-10-26
收藏
得分:3 
你在这里
程序代码:
for(y=2;y<x;y++)
        {
            if(x%y!=0)
            printf("%3d",x);
            break;
        }

并不能判断一个数是不是素数,比如15%2(y第一个值为2)!=0,但是15%3==0,所以不能判断出来。
你看一下我的程序,应该能够看得懂的。
程序代码:
#include<stdio.h>
int main()
{
    int n;//从小到大输出n个素数
    scanf("%d",&n);
    int i=1,b=1,k=3,j;
    if(n==1)
        printf("2\n");
    else 
    {    
        printf("2 ");
        while(i<n)
        {
            
            for(j=2;j<k;j++)
            {
                if(k%j==0)
                {
                    b=0;
                    break;
                }
            }
            if(b==1)
            {
                printf("%d ",k);
                i++;
            }
            k++;
            b=1;
            
        }
    }
     return 0;
}
2017-01-04 17:53
花脸
Rank: 8Rank: 8
等 级:蝙蝠侠
威 望:9
帖 子:788
专家分:907
注 册:2017-1-4
收藏
得分:0 
没看懂。。。。
2017-01-04 18:22
花脸
Rank: 8Rank: 8
等 级:蝙蝠侠
威 望:9
帖 子:788
专家分:907
注 册:2017-1-4
收藏
得分:0 
回复 2楼 bjut_Allen
x%y==0不就输出的是合数了?
2017-01-04 18:30
花脸
Rank: 8Rank: 8
等 级:蝙蝠侠
威 望:9
帖 子:788
专家分:907
注 册:2017-1-4
收藏
得分:0 
回复 3楼 ClearningC
没看懂,,
2017-01-04 18:30
bjut_Allen
Rank: 9Rank: 9Rank: 9
来 自:平乐园工业技术学校
等 级:蜘蛛侠
威 望:8
帖 子:323
专家分:1223
注 册:2016-10-16
收藏
得分:0 
回复 5楼 花脸
break;

Code is my life.
2017-01-04 18:32
花脸
Rank: 8Rank: 8
等 级:蝙蝠侠
威 望:9
帖 子:788
专家分:907
注 册:2017-1-4
收藏
得分:0 
回复 2楼 bjut_Allen
程序上写了y<x,,怎么后面有y==x?
2017-01-04 18:33
ClearningC
Rank: 2
等 级:论坛游民
帖 子:98
专家分:43
注 册:2016-10-26
收藏
得分:0 
回复 6楼 花脸
程序代码:
#include<stdio.h>
int main()
{
    int n;//从小到大输出n个素数
    scanf("%d",&n);
    int i=1,b=1,k=3,j;//b作为一个判断条件。k是自然数,素数从这里找
    if(n==1)
        printf("2\n");//当只有一个素数时,输出2 
    else 
    {    
        printf("2 ");
        while(i<n)//i代表输出素数的个数 
        {
            
            for(j=2;j<k;j++)//k表示从3开始数,挑出素数。 
            {
                if(k%j==0)//这时k为合数 
                {
                    b=0;//当k为合数时,b=0 
                    break;//跳出循环 
                }
            }
            if(b==1)//当b=1时,k为素数 
            {
                printf("%d ",k);
                i++;//输出的素数+1 
            }
            k++;//k值递增 
            b=1;
            
        }
    }
     return 0;
}
2017-01-04 18:38
花脸
Rank: 8Rank: 8
等 级:蝙蝠侠
威 望:9
帖 子:788
专家分:907
注 册:2017-1-4
收藏
得分:0 
回复 9楼 ClearningC
谢谢,,,我是刚学c入门,,暂时理解你的这个程序还有点困难。。。
2017-01-04 18:46
快速回复:要求输出素数,求解,看看程序哪个地方出问题了。?
数据加载中...
 
   



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

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