c++编写判断一个正整数是否是素数的函数
int
prime(int
x)
你的函数运行后,如果是素数,返回
1,否则返回
0;
if(b==0)
这个语句写反了,b=0就不是素数啦;
你的
int
prime(int
x)函数里也是错的,if语句不能跳出循环,所以返回的
t就是就是最后一次循环的值
。
#include
using
namespace
std;
int
prime(int
x)
{
int
n;
for(n=2;n<x/2;n++)
{
if(x%n==0)
return
0;
//只要有一个因子就不是素数,没必要循环下去,直接退出
}
return
1;
}
int
main()
{
int
a,b;
cout<<"please
input
1
number:";
cin>>a;
if(a<=1)
cout<<"输入有误";
else
{
b=prime(a);
{
if(b==1)
//这里的值要与函数的返回值匹配
cout<<a<<"是素数"<<endl;
else
cout<<a<<"bu是素数"<<endl;
}
}
return
0;
}
#include
#include
using namespace std;
bool isPrime(int n)
{
if(n<=1)return false;
if(n==2)return true;
for(int i=2;i<=sqrt(n);i++)if(n%i==0)return false;
return true;
}
int main()
{
int n;
cout<<"please input n"<<endl;
cin>>n;
if(isPrime(n))cout<<n<<" is a prime number"<<endl;
else
cout<<n<<" is not a prime number"<<endl;
return 0;
}
你的函数运行后,如果是素数,返回 1,否则返回 0;
if(b==0) 这个语句写反了,b=0就不是素数啦;
你的
int prime(int x)函数里也是错的,if语句不能跳出循环,所以返回的 t就是就是最后一次循环的值
。
#include<iostream>
using namespace std;
int prime(int x)
{
int n;
for(n=2;n<x/2;n++)
{
if(x%n==0)
return 0; //只要有一个因子就不是素数,没必要循环下去,直接退出
}
return 1;
}
int main()
{
int a,b;
cout<<"please input 1 number:";
cin>>a;
if(a<=1)
cout<<"输入有误";
else
{
b=prime(a);
{
if(b==1) //这里的值要与函数的返回值匹配
cout<<a<<"是素数"<<endl;
else
cout<<a<<"bu是素数"<<endl;
}
}
return 0;
}
int prime(int x)
{
int n;
for(n=2;n<=x/2;n++)
{
if(x%n==0)
return 0;
}
return 1;
}
int prime(int x)
{
int itmp = x / 2 + 1;
for(int n = 2; n < itmp; n++)
{
if(x % n ==0 && x != n)
{
return 1;
}
}
return 0;
}
替换下自己看看就明白了,主要要+1 ,要不然5这个不能判断。
c++编写判断素数的函数:
代码如下:
//程序的目的是求0-n之间所有的素数,以下是思路
#include <iostream.h>
#include <math.h>
void main()
{
int i,k; //声明i,k
cin>>k;// 输入k
for(i=2;i<k;i++)//循环i,不是素数么,从2开始
{
int a;//新的变量
int f = 1;
for(a=2;a<i;a++)//a的作用是当一个除数,检验i是否为素数
{
if(i%a==0)
f = 0;
}
if(f==1)//当i除以除1外所有自己的因数时,若都有余数,则此数为素数。
cout<<i<<endl;//输出i
}
}
素数:质数(prime number)又称素数,有无限个。一个大于1的自然数,除了1和它本身外,不能被其他自然数(质数)整除,换句话说就是该数除了1和它本身以外不再有其他的因数;否则称为合数。根据算术基本定理,每一个比1大的整数,要么本身是一个质数,要么可以写成一系列质数的乘积;而且如果不考虑这些质数在乘积中的顺序,那么写出来的形式是唯一的。最小的质数是2。
#include<iostream>
using namespace std;
int prime(int x)
{
int n,t=1;
for(n=2;n<x/2;n++)//函数的内容改了,你好好读读你for循环就知道错在哪里了
{
if(x%n==0&&x!=n)
return 1;
}
return 0;
}
int main()
{
int a,b;
cout<<"please input 1 number:";
cin>>a;
if(a<=1)
cout<<"输入有误";
else
{
b=prime(a);
{
if(b==0)
cout<<a<<"是素数"<<endl;
else
cout<<a<<"bu是素数"<<endl;//这里是不是该写 不是?
}
}
//getchar();getchar();
return 0;
}
求帮忙看下c++程序:判断输入的正整数是否为素数
if (i == m) \/\/在原来的程序中,这里的i是for前面那句的i,它的值是不确定的,但一般不等于m的值,所以执行了else cout << m << "是素数" << endl; else cout << m << "不是素数" << endl; system("pause");} 请看注释,主要是for前面那个int i 和 for里面那个int i...
判断是否为素数:输入一个正整数m,判断其是否为素数。(C语言编程设计思路...
最简单的思路,就是从2开始逐个判断能否整除,如果存在本身以外因子,就不是质数,否则是质数。代码:int is_prime(int n){int i;for(i = 2; i <= sqrt(n); i ++)if(n%i == 0) return 0;return 1;}int main(){ int n; scanf("%d",&n); if(is_prime(n)) printf...
输入一个正整数n,判断n是否是素数。如果n是素数,则输出yes,否则输出no...
if(m<=k)这里应该是if(n<=k)吧……for(n=2;n<k;n++)这里改成for(n=2;n<=k;n++)
C++编写一个判断给定的数是否是素数的函数
include <iostream> include <cmath> using namespace std;bool isPrime(int n){ if(n<=1)return false;if(n==2)return true;for(int i=2;i<=sqrt(n);i++)if(n%i==0)return false;return true;} int main(){ int n;cout<<"please input n"<<endl;cin>>n;if(isPrime(n))cout...
用c++判断一个数是否是素数
首先先定义一个函数用于判断一个数是否是素数,接着主函数接受键盘输入,并调用该函数判断输入的数是否是素数。素数就是只能被1和自身整除的数。故判断n是否是素数,可以用n依次除以n-1,n-2……2,如果能整除则不是素数,否则是素数。参考代码如下:include<stdio.h>#include<iostream>using namespace...
如何用C++写一个关于判断一个数是否为素数的程序!
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=...
求大神 输入一个正整数n,判断n是否是素数.C++
应该逻辑上错了,看懂别人写的代码比自己重新写难多了。include <iostream>#include "math.h"#include "stdlib.h"using namespace std;int main(int argc, char** argv) {int n;bool flag=false;cin>>n;for(int i=2;i<n;i++){if(n%i==0){flag=true;break;}}if(flag){cout<<"yes...
用C++实现判断一个数是否为素数。要求在main函数中输入一个整数,判断...
这个事判断是否为素数的子函数,我见过的最经典的代码 int func(int m){ int i;for(i=2;i*i<=m;i++)if(m%i==0)return 0;return 1; \/\/这里说明一下,返回的值可以使m也可以是1,只要不是0就可以,} \/\/主要看你怎么利用,要是在调用的函数中想用到m这个值,可以返回m \/\/只...
如何用c语言判断一个数是不是素数
3、定义变量并输入一个数字:int m,i; \/*定义变量的数据类型为整型*\/ printf("输入一个数:"); \/*输出文字提示*\/ scanf("%d",&m); \/*输入一个数字*\/ 4、用for函数和if函数判断是否是素数:for(i=2;i<=m;i++) \/*用for函数重复下面步骤*\/ if(m%i==0) \/*判断输...
...isprime(int n)用于判断一个整数是否为素数,如果是就返回1,否则返 ...
include <iostream> using namespace std;bool isprime(int n){ int i;if(n>2 && !(n&1) || n<2)return false;for(i=3; i*i<=n;i+=2)if(!(n%i)) return false;return true;} int main(void){ for(int i=301,k=0;i<501;i+=2)if(isprime(i))cout << i << (++k%...