c++ 求输入m和n,输出m到n间的所有素数。

一楼的太高深了~请用常见点的回答 谢谢

二楼的不对~

#include<iostream>
using namespace std;

int main(){
int i,j,m,n;
cin>>m>>n; //假定m<=n 且m>1 因为1既不是素数也不是合数
for(i=m;i<=n;i++){
for(j=2;j<=i/2;j++)
if(i%j == 0) break;
if(j>i/2) cout<<i<<endl;
}
//return 1;
system("pause");
}
温馨提示:内容为网友见解,仅供参考
第1个回答  2008-09-28
bool isPrimeNumber(int n){略;}
int getPrimeNumbers(int m,int n){
int total=0;
int i=0;
int temp;
if(m>n){temp=m;m=n;n=temp;}
for(i=m;i<=n;i++){
if(isPrimeNumber(i))total++;
}
teturn total;
}
第2个回答  2008-09-28
#include <iostream>
using std::cin;
using std::cout;

main()
{
int i,j,a=1,s=0,qr,m,n,t;
cout<<"请输入M和N"<<endl;
cin>>m>>n;
if(n<m)
{
t=m;
m=n;
n=t;
}
for(i=m;i<n;i++)
{
qr= (int)sqrt(i);
for(j=2;j<qr;j++)
if(!(i%j)) {a=0;break;}//如果i是合数,a=0,跳出循环
else a=1;
if(a) s+=i;//如果a是质数,s累加
}
cout << s << endl;
}

c++ 求输入m和n,输出m到n间的所有素数。
include<iostream> using namespace std;int main(){ int i,j,m,n;cin>>m>>n; \/\/假定m<=n 且m>1 因为1既不是素数也不是合数 for(i=m;i<=n;i++){ for(j=2;j<=i\/2;j++)if(i%j == 0) break;if(j>i\/2) cout<<i<<endl;} \/\/return 1;system("pause");} ...

C++编程 输入m和n,输出m到n间的所有素数
include <iostream> using namespace std;bool isPrime(int n){ for (int i=2; i<n; i++){ if (n%i==0)return false;} return true;}int main(){ int m,n;cin>>m>>n;for (int i=m; i<=n; i++){ if (isPrime(i)){ cout<<i<<endl;} } return 0;} ...

输入两个正整数m和n,统计并输出m和n之间的素数的个数
include <stdio.h>int prime(int m){ int i; for(i = 2; i <= m \/ 2; i++) if(m % i == 0) return 0; return 1;}int main(void){ int i, m, n, c=0, s=0; printf("Input m:"); scanf("%d", &m); printf("Input n:"); scan...

...正整数m和n(m>=1,n<=100)输出m和n之间的所有素数 c语言
n;count=0;printf("Input m: ");scanf("%d",&m);printf("Input n: ");scanf("%d",&n);if(m>n)\/\/m,n如果不是m小的话,换一下{i=m;m=n;n=i;}for(x=m;x<=n;x++)\/\/;这里多分号{y=sqrt(x*1.0);

C++,求m到n之间所以素数的和,用for怎么写啊,始终搞不清楚其中的关系...
s=0;for (i=m;i<=n;i++)if (sushu(i))s+=i;解释:s用来存储和,sushu()用来判断i是否素数,如果是就加到s中。

用C++输出两个正整数[m,n]之间所有的素数,每行输出5个数
main(){ int i,j,m,n,k,h=0,leap=1;loop:printf("\\nPlease input two numbers m and n:(m>1,n>m)\\n");scanf("%d%d",&m,&n);if(m<=1||n<=m){ printf("Input error! Please input again!");goto loop;} printf("\\The prime numbers between %d and %d are:\\n",m,n...

输入两个正数m和n,输出m和n之间的所有素数,每行输出5个。素数是只能被1...
include <math.h> int ss(int n) \/*检查n是否为素数,如果是则返回1,否则返回0*\/ { int i;if(n<2) return 0;for (i=2; i<=(int)sqrt((double)n); i++)if (n%i==0) return 0;return 1;} int main(void){ int i,j=0,m,n;scanf("%d%d",&m,&n);for (i=m; ...

用c++编译 输出[m,n]间所有素数,并且每5个换行,如果区间内不存在素数...
include <iostream> include <cmath> using namespace std;void prime(int a,int b) \/\/输出素数的函数 { int i;int n = int(sqrt(a));for(i = 2;i <= n;i++) \/\/只要2~根号a的数都不被a整除,就是素数 { if(a%i == 0)break;} if(i > n)cout<<a<<" ";a++;if...

c++中输入两个正整数m和n,降序输出m~n范围内所有正整数,(默认m<=n...
include<iostream> using namespace std;int main(){ int m, n;cin >> m >> n;m = m > 0 ? m : 1;while(m <= n)cout << m++ <<" " << endl;return 0;}

c++描述欧拉筛法求m到n的素数
按照你的要求编写的用欧拉筛选法求从M到N的素数的C++程序如下 include<iostream> include<cstring> using namespace std;int main(){ int M,N,cnt=0,count=1,prime[100001];bool vis[100001];memset(vis,false,sizeof(vis));memset(prime,0,sizeof(prime));cin>>M>>N;for(int i=2;i<=...

相似回答