用C++编写函数判别一个数是否是质数,在主程序中实现输入输出

如题所述

先定义整型变量n,输入n,通过判断函数判断,最后输出。

例如:

//参考代码如下:
#include "iostream"
#include "stdio.h" 
using namespace std; 

int fun(int n){//判断函数,是质数返回1,否则返回0 
int ans =1;
for(int i=2;i<n;i++)//从2到n-1判断能否整除n 
if(n%i==0){
ans=0;
break;
}
return ans;   
}

int main()
{
int n;
cin>>n;//输入n 
if(fun(n))//判断输出 
cout<<n<<"是质数";
else
  cout<<n<<"是合数";
    return 0; 
}
/*
运行结果:
29
29是质数
*/
温馨提示:内容为网友见解,仅供参考
第1个回答  2010-04-11
#include <iostream>
using namespace std;
#include <math.h> //此为数学函数库。程序中要用到数学函数时必须包含此语句。
void f(int n) //此函数只判断是否为素数。
{
int i,j=0;
for(i=2;i<=sqrt(n);i++) //这是使程序运算次数最少的方法,若将sqrt(n)换成n/2,
//程序运算次数将要增加,若换成n,运算量最大,也最浪费。
//另外,若i=1,显然不满足,故直接i=2。
if(n%i==0)
j++; //j在这里只起标识作用,若为0不变则说明是素数,否则为非素数。
if(n==0||n<0) cout<<"数据错误!"<<"\a"<<endl; //“0和负数”显然不是处理的对象。
else if(n==1) cout<<"这个数不是素数。"<<endl; //“1”要特殊处理。
else
{
if(j==0)
cout<<"这个数是素数。"<<endl;
else
cout<<"这个数不是素数。"<<endl;
}
}
int main()
{
int n;
cout<<"请输入要检验的整数:"<<endl;
cin>>n;
f(n);
return 0;
}
第2个回答  2010-04-11
#include <cmath>
void main()
{
int n;
scanf("Input a number: %d", &n);
int m = sqrt(n)+1;
if(m == 2)
{
printf("%d为质数", n);
return;
}
for(int i = 2; i < m; i++)
{
if( n%i == 0 )
{
printf("%d不为质数", n)
return;
}
else if(i == m-1)
{
printf("%d为质数", n);
return;
}
}
}
}本回答被网友采纳
第3个回答  2018-05-04

首先纠正一下,不是质数也可能不是合数(提醒楼下)
参考代码:

#include<iostream>
#include<cmath>
using namespace std;
int Prime(int x)
{
    for(int i=2;i<sqrt(x);i++)
        if(x%i==0)
            return 0;
    return 1;
}
int main()
{
    int n;
    cin>>n;
    Prime(n)?cout<<n<<"是质数":cout<<n<<"非质数";
}

任何一步不懂都可以问我哟。
第4个回答  2020-05-21
先定义整型变量n,输入n,通过判断函数判断,最后输出。
例如:
//参考代码如下:
#include "iostream"
#include "stdio.h"
using namespace std;
int fun(int n){//判断函数,是质数返回1,否则返回0
int ans =1;
for(int i=2;i<n;i++)//从2到n-1判断能否整除n
if(n%i==0){
ans=0;
break;
}
return ans;

}
int main()
{
int n;
cin>>n;//输入n
if(fun(n))//判断输出
cout<<n<<"是质数";
else

cout<<n<<"是合数";
return 0;
}
/*
运行结果:
29
29是质数
*/

用C++编写函数判别一个数是否是质数,在主程序中实现输入输出
先定义整型变量n,输入n,通过判断函数判断,最后输出。例如:\/\/参考代码如下:#include "iostream"#include "stdio.h" using namespace std; int fun(int n){\/\/判断函数,是质数返回1,否则返回0 int ans =1;for(int i=2;i<n;i++)\/\/从2到n-1判断能否整除n if(n%i==0){ans=0;break;...

用c++判断一个数是否为质数
include <stdio.h>int main(void){ int i, j, k = 0;printf("请输入一个数字判断是否是素数:");scanf("%d", &i);for (j = i - 1; j >= 2; j--){if (i % j == 0)k = j;\/\/把j里面能把i整除的数赋给k}if (k)\/\/如果j赋给了k,那么k不等于0,为真,输出不是...

如何用c++编写一个判断是否为“质数”;的程序???用最简单的程序编写
} return 1;} int main(){ if(isprime(你的数字)){ printf("质数");} else { printf("非质数");} }

使用C++判断一个数是不是质数
质数又称素数。指在一个大于1的自然数中,除了1和此整数自身外,不能被其他自然数整除的数。以上. 只要把2到N-1的数全部给N除一遍, 余数全部不为0的话, 就是质数.bool IsZhiShu(int N){ for(int b = 2; b < N; ++b)if(N%b == 0)return true;return false;} ...

如何用C++写一个关于判断一个数是否为素数的程序!
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++...

用c++怎样判断一个整数是否为质数?
int iR;cin >> iR;int i = 2;for (; i <= sqrt(iR); i++){ if (iR%i == 0){ cout << iR << "不是质数。" << endl;break;} }

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++判断一个数是否为质数
include <stdio.h> include <math.h> int isPrime(int p){ int i;for (i=2;i<=sqrt((double)p);i++){ if(p%i==0)return 0 ;} return 1 ;} int main(){ int n;scanf("%d",&n);if(isPrime(n))printf("yes\\n");else printf("no\\n");return 0;} ...

用c++判断一个数是否是素数
首先先定义一个函数用于判断一个数是否是素数,接着主函数接受键盘输入,并调用该函数判断输入的数是否是素数。素数就是只能被1和自身整除的数。故判断n是否是素数,可以用n依次除以n-1,n-2……2,如果能整除则不是素数,否则是素数。参考代码如下:include<stdio.h>#include<iostream>using namespace...

设计个函数用于判断一个数是否为素数如果是素数返回1否则返回0
{return 0;exit(0);}t=(int)sqrt(n);for(i=2;i<=t;i++)if (n%i==0) \/*发现该数的因数除了1和它本身还有别的数,说明这个数不是素数,返回值0.*\/{return 0;exit(0);}return 1; \/\/否则,该数为素数,返回值1.}void main(){int n,result;cin>>n;\/\/输入一个数。result=...

相似回答