用穷举法找出1到100的质数幷显示出来
来源:优易学  2010-1-14 19:17:42   【优易学:中国教育考试门户网】   资料下载   IT书店

  用穷举法找出1到100的质数并显示出来。分别使用while、do-while、for循环语句实现。
  1.用while:
  include<iostream.h>
  void main()
  {int i,j,n,m;
  i=2;
  while(i<101)
  {m=1;n=i/2;j=2;
  while(j<=n)
  { if(i%j==0)
  {m=0;
  breake;
  }
  j++;
  }
  if(m)
  cout<<i<<"";
  i++;
  }
  }
  2.用do...while
  #include<iostream.h>
  void main()
  {int i,j,n,m;
  i=2;
  do
  {m=1;n=i/2;j=2;
  do
  {if(i%j==0)
  {m=0;
  breake;
  }
  j++;
  }while(j<=n);
  if(m)
  cout<<i<<"";
  i++;
  }while(i<101);
  }
  3.用for
  # include<iostream.h>
  void main()
  {int i,j,n,m;
  for(i=2;i<101;i++)
  {m=1;
  n=i/2;
  for(j=2;j<=k;j++)
  {if(i%j==0)
  {m=0;
  breake;
  }
  }
  if(m)
  cout<<i<<"";
  }}

  4.#include <iostream.h>
  #include <math.h>
  void main()
  {
  int flag=1;
  for(int i=11;i<101;i++)
  {
  for(int j=2;j<sqrt(i);j++)
  {
  if(i%j==0)
  {
  flag=0;
  break;
  }
  else
  flag=1;
  }
  if(flag==0)
  cout<<" ";
  else
  cout<<i<<endl;
  }
  }
  这次没问题了。。
  其它类似
  5.if(m%2!=0) //如果是以2结尾的则一定不是素数,数目比较大的时候,效率高
  {
  k=(int)sqrt(m);
  for(n=2;n<=k;n++) //判断是否为素数
  {
  if(m%n==0) break;
  }
  if(n==k) //不是则输出
  {
  count++;
  cout<<m<<" ";
  }

责任编辑:cyth

文章搜索:
 相关文章
热点资讯
资讯快报
热门课程培训