| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1939 人关注过本帖
标题:急关于求100至200间素数
只看楼主 加入收藏
_Persie
Rank: 1
等 级:新手上路
帖 子:4
专家分:0
注 册:2016-8-19
结帖率:100%
收藏
已结贴  问题点数:20 回复次数:9 
急关于求100至200间素数
刚学C语言求教 哪里不对 什么结果都出不来 谢谢!!
#include<stdio.h>
#include<math.h>
int main()
{ int n,i;
  double k;
  k=sqrt(n);
  n=100;
  for (;n<=200;n++)
  {
   for(i=2;i<=k;i++)
   {
    if (n%i==0) break;
   }
   if (i>k) printf("%d ",n);
  }
  return 0;
}
搜索更多相关主题的帖子: include double C语言 
2016-08-19 18:16
grmmylbs
Rank: 14Rank: 14Rank: 14Rank: 14
等 级:贵宾
威 望:54
帖 子:1409
专家分:5845
注 册:2016-2-14
收藏
得分:10 
把n = 100;提到前面去
2016-08-19 18:35
zx315
Rank: 5Rank: 5
来 自:广东
等 级:职业侠客
威 望:2
帖 子:86
专家分:378
注 册:2016-7-13
收藏
得分:5 
整个逻辑基本上都是错的~~~楼主是看书敲代码呢,还是自己写的?如果是自己写的,先把判断一个数是不是素数的逻辑写出来,再来求解这个问题就简单了

Read The Fucking Source Code~
2016-08-19 18:44
_Persie
Rank: 1
等 级:新手上路
帖 子:4
专家分:0
注 册:2016-8-19
收藏
得分:0 
回复 2楼 grmmylbs
太谢谢了,不过这是为什么呢?
2016-08-19 19:00
_Persie
Rank: 1
等 级:新手上路
帖 子:4
专家分:0
注 册:2016-8-19
收藏
得分:0 
回复 2楼 grmmylbs
素数那部分应该没有问题的单独做是对的
2016-08-19 19:01
grmmylbs
Rank: 14Rank: 14Rank: 14Rank: 14
等 级:贵宾
威 望:54
帖 子:1409
专家分:5845
注 册:2016-2-14
收藏
得分:0 
不提前你的k=sqrt(n);怎么获得k的值?n没有赋值
2016-08-19 19:07
_Persie
Rank: 1
等 级:新手上路
帖 子:4
专家分:0
注 册:2016-8-19
收藏
得分:0 
回复 6楼 grmmylbs
噢对噢 明白了
2016-08-19 20:20
zx315
Rank: 5Rank: 5
来 自:广东
等 级:职业侠客
威 望:2
帖 子:86
专家分:378
注 册:2016-7-13
收藏
得分:0 
逻辑怎么会是对的呢?求解一个数 n 是否为素数,是判断它能否被 2...sqrt(n) 整除,是这样吧?如果是这样,你把 k = sqrt(n); 放在循环外面有什么用?

Read The Fucking Source Code~
2016-08-19 23:05
书生牛犊
Rank: 14Rank: 14Rank: 14Rank: 14
来 自:星夜征程
等 级:贵宾
威 望:10
帖 子:1101
专家分:5265
注 册:2015-10-27
收藏
得分:5 
删去第六行,增加到第十行的位置来,这个判断素数的逻辑才是对的
程序代码:
#include<stdio.h>
#include<math.h>
int main()
{ int n,i;
  double k;
  k=sqrt(n);    //n没初始化就使用,当然不行啦
  n=100;
  for (;n<=200;n++)
  {
    k=sqrt(n);    //我建议把k=sqrt(n)移动到这个位置来
   for(i=2;i<=k;i++)//其实k=sqrt(n)放在这两层循环的外面的话,那其实k就只是=sqrt(100),在我学过的知识里,判断一个数字是不是素数,应该判断到他的平方根,
   {            //这道题是从100到200,那当然应该是每次计算这次要判断素数的数字的平方跟,
    if (n%i==0) break;
   }
   if (i>k) printf("%d ",n);
  }
  return 0;
} 






[此贴子已经被作者于2016-8-20 00:12编辑过]


φ(゜▽゜*)♪
2016-08-20 00:10
豪plus
Rank: 1
等 级:新手上路
帖 子:1
专家分:0
注 册:2016-8-8
收藏
得分:0 
回复 楼主 _Persie
我是这样写的,你可以参考下。
#include<stdio.h>
void main()
{ int a,b,c;
   c=0;
  for(a=100;a<201;a++)
  {for(b=1;b<=a;b++)
  { if(a%b==0)
       c++;     }
     if(c<=2)
     printf("%d\n",a);
     c=0;
  }
}
图片附件: 游客没有浏览图片的权限,请 登录注册


[此贴子已经被作者于2016-8-22 20:09编辑过]

2016-08-22 20:07
快速回复:急关于求100至200间素数
数据加载中...
 
   



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

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