求大神帮忙,我写的这个程序哪里有问题?谢谢 输出前n个素数100到200之间的素数

编写一个C程序输出100到200之间所有的素数?
编写一个C程序输出100到200之间所有的素数?
#include&stdio.h&
#include&math.h&
#include&stdlib.h&
int main()
{
int i,j;
for(i=100;i&=200;i++)
{
for(j=2;j&=(int)sqrt(i);j++)
if(i%j==0)
if(j&(int)sqrt(i))
printf(&%d\n&,i);
}
system(&pause&);
return 0;
}
在 vc++ 6.0下编译通过。
其他回答 (5)
思路是这样的:先把N个自然数按次序排列起来。1不是质数,也不是合数,要划去。第二个数2是质数留下来,而把2后面所有能被2整除的数都划去。2后面第一个没划去的数是3,把3留下,再把3后面所有能被3整除的数都划去。3后面第一个没划去的数是5,把5留下,再把5后面所有能被5整除的数都划去。这样一直做下去,就会把不超过N的全部合数都筛掉,留下的就是不超过N的全部质数。因为希腊人是把数写在涂腊的板上,每要划去一个数,就在上面记以小点,寻求质数的工作完毕后,这许多小点就像一个筛子,所以就把埃拉托斯特尼的方法叫做“埃拉托斯特尼筛”,简称“筛法”。(另一种解释是当时的数写在纸草上,每要划去一个数,就把这个数挖去,寻求质数的工作完毕后,这许多小洞就像一个筛子。)/**
public class Test {
* @param args
public static void main(String[] args) {
Test test=new Test();
long time1=new Date().getTime();
for(int i=1;i&10000;i++){
if(test.isPrimeNumber(i)==true)
System.out.println(i);
long time=new Date().getTime()-time1;
System.out.println(time+&毫秒&);
/**判断一个正整数是否为素数
* @param number 传入需要判断的正整数
public boolean isPrimeNumber(int number){
boolean flag=
if(number&=0)
throw new IllegalArgumentException(&number是不合法的参数!&);
for(int i=2;i&=Math.sqrt(number);i++){
if(number%i==0)
if(flag==false)
程序显示是怎么就是什么
#include &stdio.h&
#include &math.h&
// 判断是否是素数。
bool IsPrime(int prmNumber)
{
int k = (int)sqrt(prmNumber);
for (int i=2; i&=k; i++)
if (prmNumber%i == 0)
void main()
{
for (int i=100; i&=200; i++)
if (IsPrime(i))
printf(&%d &, i);
去C语言论坛看有很多。
非常简单的问题 这是C语言的程序
#include &iostream&
int main(void)
{
int a,b,m,n;
for (a=100;a&200;a++)
{
for (b=2;b&=a/2;b++)
if (a%b==0)
cout&&a&&
}
return 0;
}
相关知识等待您来回答
编程领域专家判断101-200之间有多少个素数,并输出所有素数。谁能帮忙详细的解释下这个程序
[问题点数:40分,结帖人l]
判断101-200之间有多少个素数,并输出所有素数。谁能帮忙详细的解释下这个程序
[问题点数:40分,结帖人l]
不显示删除回复
显示所有回复
显示星级回复
显示得分回复
只显示楼主
相关帖子推荐:
本帖子已过去太久远了,不再提供回复功能。c语言for循环
输出100~200之间素数_c语言吧_百度贴吧
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&签到排名:今日本吧第个签到,本吧因你更精彩,明天继续来努力!
本吧签到人数:0成为超级会员,使用一键签到本月漏签0次!成为超级会员,赠送8张补签卡连续签到:天&&累计签到:天超级会员单次开通12个月以上,赠送连续签到卡3张
关注:258,580贴子:
c语言for循环
输出100~200之间素数收藏
#include &stdio.h&#include &math.h&int main() { int n,i,m;
for(n=101;n&=200;n=n+2){ k=sqrt(n);
for (i=3;i&=k;i++)
if (n%i==0)
printf(&%d &,n);
if(m%10==0) printf(&\n&);}
return 0;}这个程序应该如何修改?有劳了
#include &stdio.h&#include &math.h&int main(){ int n,i,m;for(n=101;n&=200;n=n+2){ k=sqrt(n);for (i=3;i&=k;i++) if (n%i==0) if(i&k){printf(&%d &,n);m++;}if(m%10==0) printf(&\n&);} }
登录百度帐号我的游戏推荐游戏
后查看最近玩过的游戏
为兴趣而生,贴吧更懂你。或求大神教我,这里是求1-100的素数(质数)的js代码,用浏览器打开没有显示,求解释_百度知道
楼上几位用英语学过数学么...\r\n这题问的是最小的有3个不同的质因数的平方数是几...\r\n最小的三个质数是2,3,5,相乘得30,平方得900,所以答案是900
其他类似问题
js代码的相关知识
等待您来回答
下载知道APP
随时随地咨询
出门在外也不愁

我要回帖

更多关于 什么是素数 的文章

 

随机推荐