工大机试第12题

键盘输入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;
}

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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值