C++ ,键盘输入正整数N,输出2~N间的所有素数,以及素数个数,

是这样的,想请分析下,C++ ,键盘输入正整数N,输出2~N间的所有素数,以及素数个数,
最新回答
憇憇圏

2024-11-06 04:24:19

//#include "stdafx.h"//vc++6.0加上这一行.
#include <iostream>
using namespace std;
void main(void){
int n,i,j,sum=1,flag;
cin >> n;
cout << 2 << ' ';
for(i=3;i<=n;i+=2){
for(flag=j=3;j*j<=i;j+=2)
if(!(i%j)){
flag=0;
break;
}
if(flag){
cout << i << ' ';
sum++;
}
}
cout << "\nA total of " << sum << " prime(s).\n";
}
搖到月亮灣

2024-11-06 04:49:59

#include <iostream>
using namespace std;
int main()
{
int N,i,j,num=1;
bool temp=true;
cin>>N;
cout<<2<<" ";//2是素数 所以num从1开始
for(i=3;i<=N;i++)
{
temp=true;
for(j=2;j*j<=i;j++)
{
if(i%j==0)
{
temp=false;
break;
}
}
if(temp)
{
num++;
cout<<i<<" ";
}
}
cout<<endl;
}
尛丠莵

2024-11-06 05:31:23

#include<iostream>
#include<cmath>
using namespace std;
int main()
{int i,j,k,N,count=1;
cout<<"请输入N:"<<endl;
cin>>N;
cout<<2<<'\t';
for(i=2;i<N+1;i++)
{k=int(sqrt(double(i)));
for(j=2;(i%j);j++)
if(j>k){cout<<i<<'\t';count++;break;}}
cout<<"素数个数:"<<count<<endl;

}