| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1646 人关注过本帖
标题:自己写的一个程序求100~200之间的所有素数,但是结果怎么都不对,自己看程序 ...
只看楼主 加入收藏
knightsaber
Rank: 1
等 级:新手上路
帖 子:19
专家分:0
注 册:2012-4-8
结帖率:60%
收藏
已结贴  问题点数:15 回复次数:9 
自己写的一个程序求100~200之间的所有素数,但是结果怎么都不对,自己看程序好像没什么问题,求大神帮忙
程序如下
#include<math.h>
#include<stdio.h>
void main()
{
    int i,k,sk,flag,m=0;
    flag=1;
    sk=sqrt(k);
    for(k=100;k<=200;k++)
    {
        for(i=2;i<=sk;i++)
        {
            if(k%i==0)
            {
                flag=0;
                break;
            }
        }
        if(flag==1)
        {
            m++;
            printf("%5d",k);
        }
    }
    if(m%12==0)
        printf("\n");
    printf("total:%5d\n",m);
}

结果是100~200所有的数。。
不知道哪儿出了问题
搜索更多相关主题的帖子: include 
2012-05-14 10:31
lz1091914999
Rank: 14Rank: 14Rank: 14Rank: 14
来 自:四川
等 级:贵宾
威 望:37
帖 子:2011
专家分:5959
注 册:2010-11-1
收藏
得分:2 
#include<math.h>
#include<stdio.h>
void main()
{
    int i,k,sk,flag,m=0;
    for(k=100;k<=200;k++)
    {
        sk=(int)sqrt(k);
        flag = 1;
        for(i=2;i<=sk;i++)
        {
            if(k%i==0)
            {
                flag=0;
                break;
            }
        }
        if(flag==1)
        {
            m++;
            printf("%5d",k);
        }
    }
    if(m%12==0)
        printf("\n");
    printf("total:%5d\n",m);
}


My life is brilliant
2012-05-14 10:37
lucky563591
Rank: 11Rank: 11Rank: 11Rank: 11
等 级:小飞侠
威 望:4
帖 子:765
专家分:2103
注 册:2009-11-18
收藏
得分:2 
有这么麻烦么?
for(i=2;i<=sqrt(n);++i) if(n%i==0) flag=false; if(flag) printf("%d is primer!\n",n);
2012-05-14 11:50
_大浪淘沙_
Rank: 2
等 级:论坛游民
帖 子:4
专家分:16
注 册:2012-5-2
收藏
得分:2 
>.....
2012-05-14 12:14
灰兜兜
Rank: 2
等 级:论坛游民
帖 子:25
专家分:18
注 册:2012-4-15
收藏
得分:2 
2楼正解
2012-05-14 18:13
想念遇见
Rank: 2
等 级:论坛游民
帖 子:87
专家分:74
注 册:2012-5-10
收藏
得分:2 
#include<stdio.h>
isu(int in)
{
    int ii,ia=1;
    for(ii=2;ii<in;ii++)
    {
        if(in%ii==0)
            ia=0;
    }
    return ia;
}
void main()
{
    int ii,im,in,ib=0;
    printf("m,n=");
    scanf("%d%d",&im,&in);
    for(ii=im;ii<=in;ii++)
    {
        if(isu(ii)==1)
            printf("%4d",ii);
    }
    printf("%d",ib);
}
试试吧!这个是任意两个数之间的素数!
2012-05-17 21:43
li往事
Rank: 2
等 级:论坛游民
帖 子:23
专家分:11
注 册:2012-3-27
收藏
得分:2 
我双手支持2楼的!!
2012-05-17 22:41
杨松松
Rank: 3Rank: 3
等 级:论坛游侠
帖 子:98
专家分:142
注 册:2011-12-3
收藏
得分:2 
回复 6楼 想念遇见
貌似最后会有一个多余的0哦
2012-05-17 22:59
BianChengNan
Rank: 8Rank: 8
等 级:贵宾
威 望:13
帖 子:302
专家分:972
注 册:2011-11-30
收藏
得分:2 
这个不就是封装一个判断是否是素数的函数,然后循环调用就可以了 啊

我的群:149544757 C/C++/Assembly 喜欢交流的朋友进,进群请写消息
2012-05-18 14:26
killerlzt
Rank: 2
等 级:论坛游民
帖 子:11
专家分:67
注 册:2012-4-27
收藏
得分:2 
质数又称素数。指在一个大于1的自然数中,除了1和此整数自身外,没法被其他自然数整除的数。换句话说,只有两个正因数(1和自己)的自然数即为素数

感觉好像LZ对素数的定义理解有误。
2012-05-18 16:27
快速回复:自己写的一个程序求100~200之间的所有素数,但是结果怎么都不对,自己 ...
数据加载中...
 
   



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

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