关闭

工大机试第12题

366人阅读 评论(0) 收藏 举报
分类:

键盘输入m和n(10

// problem12.cpp : 定义控制台应用程序的入口点。
//


#include "stdafx.h"

#include
#include
using namespace std;
bool prime(int a);//声明函数,判断一个整数是不是素数
int _tmain(int argc, _TCHAR* argv[])
{
 int a=0,count=0;//a表示一个位于m和n之间的数
 int m=0,n=0;
 cout<<"请输入两个数m和n"<<endl;
 cin>>m;cin>>n;
 while(m>=n||m<=10||n>32000)//m<=32000
 {
  cout<<"请重新输入"<<endl;
  cin>>m;cin>>n;
 }

 for(a=m;a<=n;a++)//通过调用函数来判断一个数是否是素数。
 {
  if(prime(a))
  {
   cout<<a<<" ";
   count++;
   if(count%8==0)
   {
    cout<<endl;
   }
  }

 }

}
bool prime(int a)       //判断素数,一个大于2的数如果其除了1和其本身没有其它因子,就是一个素数
{
 float b=a;   //先将a转换为浮点型,因为sqrt的参数必须是浮点型
 b=sqrt(b);          //a只要除以2到a开平方的数不能整除,就说明a是素数
 if(a<2)
  return false;
 else
 {
  for(int i=2;i<=b;i++)    //a只要除以2到a开平方的数不能整除,就说明a是素数,这里b等于a的开平方
  {
   if(a%(int)i==0)
    return false;

  }
 }
 return true;
}

欢迎提出对程序的宝贵意见
欢迎访问我的个人小站,百度搜船长旅游网 有齐全的旅游攻略,景点介绍,旅游博客。

0
0

查看评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
    个人资料
    • 访问:38081次
    • 积分:1214
    • 等级:
    • 排名:千里之外
    • 原创:86篇
    • 转载:5篇
    • 译文:0篇
    • 评论:3条
    最新评论