如何用C++写一个关于判断一个数是否为素数的程序!
#include<iostream>
#include"math.h"
using namespace std;
bool isPrimeNumber(int number){//判断是否为素数
float sqrtOfNum=sqrt(number);
for(int j=2;j<=sqrtOfNum;j++)//从2到number的算术平方根迭代
if(number/j*j==number)//判断j是否为number的因数
return false;
return true;
}
void printNum(int number){//打印出<=number的所有质数
int j=0;
for(int i=2;i<=number;i++)
if(isPrimeNumber(i)==true){
cout<<("%-5d",i)<<"";
j++;
if(j%10==0)//每隔十个数字换行
cout<<endl;
}
}
int main(){
long start=time(NULL);
cout<<(bool)isPrimeNumber(29)<<endl;
printNum(1000);
long end=time(NULL);
cout<<endl<<"Time spent:"<<(end-start+1)<<endl;
}
扩展资料:C++100以内的素数代码:
#include<iostream>
#include<math.h>
using namespace std;
const int N=300;
bool prime[N];//布尔数组变量0、1
void primeNum(int a);
void printPrimeNum();
//主函数
int main()
{
primeNum(N);
printPrimeNum();
return 0;
}
//得到N以内的素数
void primeNum(int a)
{
int i,j,n=0;
for(i=2;i<a;i++)//第一轮筛选去掉2的倍数
{
if(i%2)prime<i>=true;
else prime<i>=false;
}
for(i=3;i<=sqrt((double)a);i++)//double(N)是将N强制转换为双精度整型,求平方根i=3,5,7,9
{
if(prime<i>)
for(j=2*i;j<N;j+=i)prime[j]=false;//第二轮筛选相当于j=ni,去掉3,5,7...的倍数
}//经过两轮筛选相当于去掉了2,3,5,7...的倍数
}
//打印N以内的素数
void printPrimeNum()
{
int i,n=0,primeList[N];
for(i=2;i<N;i++)
if((i==2)||(prime<i>))primeList[n]=i,n++;
cout<<N<<"以内的素数个数为:"<<n<<endl<<"它们分别是:"<<endl;
for(i=0;i<n;i++)cout<<primeList<i><<"";
}
首先先定义一个函数用于判断一个数是否是素数,接着主函数接受键盘输入,并调用该函数判断输入的数是否是素数。
素数就是只能被1和自身整除的数。故判断n是否是素数,可以用n依次除以n-1,n-2……2,如果能整除则不是素数,否则是素数。
参考代码如下:
#include#includeusing namespace std;int isfun(int n){//判断参数n是否是素数 int i;if(i=2;i--){if(n%i==0) return 0;} return 1;} int main( ) { int n;cin>>n;if(isfun(n)) printf("%d是素数!
",n);else printf("%d不是素数!
",n);return 0;}运行结果:
23
23是素数!
#include<iostream>
#include"math.h"
usingnamespacestd;
boolisPrime(intnumber){
for(int i=2;i*i<=number;i++)
if(number %i==0)
return false;
return true;
}
void printNum(intnumber){//打印出<=number的所有质数
int j=0;
for(inti=2;i<=number;i++)
if(isPrimeNumber(i)==true){
cout<<("%-5d",i)<<"";
j++;
if(j%10==0)//每隔十个数字换行
cout<<endl;
}
}
int main(){
long start=time(NULL);
cout<<(bool)isPrimeNumber(29)<<endl;
print Num(1000);
longend=time(NULL);
cout<<endl<<"Timespent:"<<(end-start+1)<<endl;
}
扩展资料:
include用法:
#include命令预处理命令的一种,预处理命令可以将别的源代码内容插入到所指定的位置;可以标识出只有在特定条件下才会被编译的某一段程序代码;可以定义类似标识符功能的宏,在编译时,预处理器会用别的文本取代该宏。
插入头文件的内容
#include命令告诉预处理器将指定头文件的内容插入到预处理器命令的相应位置。有两种方式可以指定插入头文件:
1、#include<文件名>
2、#include"文件名"
如果需要包含标准库头文件或者实现版本所提供的头文件,应该使用第一种格式。如下例所示:
#include<math.h>//一些数学函数的原型,以及相关的类型和宏
如果需要包含针对程序所开发的源文件,则应该使用第二种格式。
采用#include命令所插入的文件,通常文件扩展名是.h,文件包括函数原型、宏定义和类型定义。只要使用#include命令,这些定义就可被任何源文件使用。
整除就是余数为0,然后循环所有比它小的数,一个一个验证就行了。
和C语言一样的 这个你可以搜C语言的 然后加上一个类就行了
楼主你好,判断一个整数m是否为素数只需被2~根号m之间的每个数去除就可以了。
下面输入一个整数判断其是否为素数的程序,希望楼主理解其算法,
#include <iostream.h>
#include <math.h>
bool is_prime(int n)
{ int i,j;
for (i=2, j=int(sqrt(n)); i<=j; i++)
if (n%i == 0) return false;
return true;
}
void main()
{ int n;
cout << "请输入一个正整数:";
cin >> n; //从键盘输入一个正整数
if (n < 2)
{cout<<"您输入的数小于2。";
return ;
}
if(n==2) cout<<2<<"是素数"<<endl; //输出最小素数
else if(is_prime(n))
cout<<n<<"是素数"<<endl;
}
在C++中如何判断一个数是质数
自己写一个函数 要判断一个数n是否质数,做一个循环,从2开始一直到n\/2为止,分别做除数,用n来做被除数,如果每一次都不能整除,那么n为质数。
怎么用C++程序判断一个数素数?
include <math.h> include <iostream.h> main(){ int m,i,k;cout < < "enter the number: "; \/\/输入一个整数,cin> > m;k=sqrt(m+1); \/\/求m+1的根号 for(i=2;i <=k;i++) \/\/找出1——m之间的素数(因为第一个素数是2,所以从2开始){ if(m%i==0)brea...
c++程序设计:给一个不多于五位的正整数要求出它是几位数
为了确定一个不多于五位的正整数是几位数,可以使用C++编写一个简单的程序。程序首先提示用户输入一个整数,并将其存储在一个字符数组中。然后,通过计算字符数组的长度来确定该整数的位数。具体实现如下:1. 使用#include引入必要的头文件。2. 编写主函数main,定义一个大小为6的字符数组buffer,用于...
用c++编程:输入一个数,判断其是不是素数
include<stdio.h> int main(){ int m, n;printf("请输入一个正整数:\\n");scanf_s("%d", &m);for (n=2; n < m - 1; n = n + 1)if (m % n == 0)break;if (n < m)printf("%d不是素数\\n",m);else printf("%d是素数\\n",m);} ...
c++语言中怎样通过调用函数来判断一个数是否是质数,
include<iostream> using namespace std;bool Fun(int i){ if(i==1)return false;else { for (int j = 2; j < i; j++)if (i % j == 0)return false;return true;} } void main(){ int n;cout<<"请输入你要判断的数:";cin>>n;if(Fun(n))cout<<"该数是质数!"<<endl...
请用C++编写 输入1个数判断是不是判断水仙花数(三位数,各位数立方和...
include<iostream.h> void main(){ int n1,n2,n3;int number;cout<<"输入三位的整数:";cin>>number;if(number>99 && number<1000){ n1=number%10;n2=number\/10%10;n3=number\/100;if(n1*n1*n1+n2*n2*n2+n3*n3*n3==number)cout<<"水仙花数"<<endl;else cout<<"非水仙花数"<<...
C++输入一个数,判断它的奇偶性后输出结果。我想先判断一下他是整数...
printf("请输入一个数,整数和小数都可以: \\n");scanf("%lf", &a);if(a - (int)a > 0) \/\/判断出是小数 { printf("小数不能判断奇偶性!\\n");} else \/\/判断出不是小数 { if((int)a % 2 == 0)printf("输入的是偶数!\\n");else printf("输入的是奇数!\\n");} } 先用...
如何使用c++判断一个数是否为素数
一个数是素数的条件是它仅能被1和它本身两个数整除。对于c++来说,需要使用循环体和取模运算进行求解。下面我们就来看看吧。首先,打开Clion,在指定的位置创建一个Project。点击File-New Project。这里选择工程的存储路径,并输入工程名,使用c++11标准,它会默认为你创建一个main.cpp。我们首先创建一...
用C++,如何判断某个数是不是回文数?
用来处理判断回文的过程,判断的大致思路就是将一个数反着排列一遍,如果和原先的数一样,那么就是回文数,排列过程用到了余数和整除:3、最后保存一下文件,按住crtl+F5运行程序查看结果,软件会弹出命令行窗口,1000到10000的所有回文结果就显示在里面了。以上就是用C++求回文数的解决过程:...
怎样用c语言判断一个数是否是同构数?
1、首先在电脑中,打开visual C++ 6.0-文件-新建-文件-C++ Source File。2、输入预处理命令和主函数,如下图所示。3、定义变量并输入数值,如下图所示。4、接着计算a是否是完美数,如下图所示。5、最后点击页面上方的运行,如下图所示,就完成了。