C++ 编写一个判断素数的函数,在主函数中由键盘输入整数的范围,并给出在该范围内的所有素数。
多的我就不说了,函数如下(你只需把下面的代码贴在int main()之前就行了,然后在开头加一个头文件:#include):
bool isPrime(int x){
if(x==1)return 0;
for(int i=2;i<=sqrt(x);i++)
if(x%i==0)return 0;
return 1;}
函数就是上面的,使用方法:比如你想判断n(这里n为正整数)是否为素数,只需运行isPrime(n),如果n是素数,则刚才的函数返回1,否则返回0.
不懂在发站内信问我
#include #include #include using namespace std;void sushu(){ int m,k,i; cin>>m; k=int (sqrt((double)m)); if(m==1) { cout<<"该正整数不为素数!"<<endl; return; } else if(m==3||m==2) { cout<<"该正整数为素数!"<<endl; return; } else { for(i=2;i<=k;i++) { if(m%i==0) { cout<<"该正整数不为素数!"<<endl; return; } } cout<<"该正整数为素数!"<<endl; } }int main(){ cout<<"Please Enter m:"; sushu(); cout<<endl; return 0;}错误的地方对照看对比一下,应该能发现,sushu这个函数最好为void类型,调用的时候不需要前面的int,sushu函数判断是否素数如果每次都if判断输出会出现太多结果
using namespace std;
int isPrime(int t);
int main()
{
int x,y;
cout<<"请输入一个范围,用空格隔开:";
cin>>x>>y;
if(x>y)
cout<<"请输入正确的范围."<<endl;
if(x<=2)
cout<<"2 ";
if(0==x%2)
x++;
for(;x<=y;x+=2)
if(isPrime(x)==1)
cout<<x<<" ";
return 0;
}
int isPrime(int t)
{
if(t<2)
return 0;
for(int i=2;i<t;i++)
{
if(t%i==0)
return 0;
}
return 1;
}
你的是x+=2,那当然只能输出2了,因为除2之外的所有偶数都不是素数
在isprime函数里,i应该小于t,不应该小于等于t,您试试,我的建议
#include int fun_m(int x); int main() { int m; while(1) { printf("请输入数字(输入0退出):"); scanf("%d",&m); if (m == 0) { return 0; } if (fun_m(m)) { printf("%d是素数!",m); } else { printf("%d不是素数!",m); } } return 0; } int fun_m(int x) { int n,flag=1; for(n=2;n
仲孙阳人参: #include #include using namespace std; bool isPrimeNum(int); int main() { int k; cout<cin>>k; if(isPrimeNum(k)) cout<else cout<system("pause"); return 0; }bool isPrimeNum(int m)//判断一个数是否是素数的函数 { int count=0; for (int i=2;i<=sqrt(m);i++) { if(m%i==0) count++; } if (count==0) return 1; }
浦东新区13739221565: 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;...
浦东新区13739221565: c ++语言编程:编写一个判断素数的函数 - ?
仲孙阳人参: bool isPrime(int n) { if(n == 0 || n == 1) return false; int d; for(d = n/2; n%d; --d); return d == 1; }
浦东新区13739221565: 设计一个函数,判断一整数是否为素数~C++ - ?
仲孙阳人参: 素数是只能被1和本身整除的数 #include using namespace std; int main() {int i,n;cout< cin>>n; for(i=2;i {if(n%i==0)break;}if(i==n)cout< else cout< return 0; }运行结果: 输入整数n:85 85不是素数! Press any key to continue
浦东新区13739221565: C++ 定义一个函数,功能为判断一个整数是否为素数,并编写主函数,输入一个数,调用函数判断它是否为素数 - ?
仲孙阳人参: 多的我就不说了,函数如下(你只需把下面的代码贴在int main()之前就行了,然后在开头加一个头文件:#include<cmath>): bool isPrime(int x){ if(x==1)return 0; for(int i=2;i<=sqrt(x);i++)if(x%i==0)return 0; return 1;} 函数就是上面的,使用方法:比如你想判断n(这里n为正整数)是否为素数,只需运行isPrime(n),如果n是素数,则刚才的函数返回1,否则返回0. 不懂在发站内信问我
浦东新区13739221565: 用C++编写一个判别素数的函数,在主函数中输入一个整数,通过参数调用,输出该数是否为素数.O(∩ - ∩)O谢谢 - ?
仲孙阳人参: #include <stdio.h> int fun_m(int x); int main() { int m; while(1) { printf("请输入数字(输入0退出):"); scanf("%d",&m); if (m == 0) { return 0; } if (fun_m(m)) { printf("%d是素数!",m); } else { printf("%d不是素数!",m); } } return 0; } int fun_m(int x) { int n,flag=1; for(n=2;n<x;n++) if(x%n==0) { flag=0; break; } return flag; }
浦东新区13739221565: c++ 编写定义函数,功能是判别素数 - ?
仲孙阳人参: #include "stdio.h" #include "math.h"//判断一个整数是否为素数 bool prime(int x) { int i; for(i=2;i<= sqrt(x);i++) { if(x%i==0) return false; } return true; } //判断一个整数(1位或多位)是否每一位都是素数 bool allPrime(int a) { if(prime(a%10)) //如果...
浦东新区13739221565: 用C++写一个判别素数的函数,要求在主函数输入一个整数,输出是否为素数的信息. - ?
仲孙阳人参: #include <stdio.h> #include <math.h>int prime(int n) {int flag = 1,i;for(i = 2;i <= sqrt(n)&&flag == 1;i++) if(n%i == 0) flag = 0;return(flag); }void main() {int x,y;printf("请输入一个正整数:");scanf("%d",&x);y = prime(x);if(y == 1) printf("\n%d是素数\n",x);else printf("\n%d不是素数\n",x); }
浦东新区13739221565: 用C++实现判断一个数是否为素数.要求在main函数中输入一个整数,判断是否为素数的过程由fun函数实现. - ?
仲孙阳人参: #include int func(int m) {int i;for(i=2;i*i if(m%i==0)return 0;return 1; }int main() {int m=0;cin>>m;if(func(m)){cout }else{cout }}
浦东新区13739221565: 设计一个函数,判断一整数是否为素数~C++素数是?C++的,要调试过的啊 - ?
仲孙阳人参:[答案] 素数是只能被1和本身整除的数 #include using namespace std; int main() { int i,n; coutn; for(i=2;i