求1至指定整数范围内的质数

#include<iostream>
using namespace std;

int main(){

	int i;
	cout<<"请输入整数:";
	cin>>i;

	int count=0;

	if(i>1){
		cout<<"2"<<endl;
		count++;
	}

	for(int j=3;j<i+1;j++){

		if(j%2!=0){

			int t=0;

			for(int w=j/2+1;w>0;w--){

				if(j%w==0){
					break;
				}
				t++;
			}

			if(t==j/2){
			cout<<j<<endl;
			count++;
			}
		}
	}
	cout<<"从1至"<<i<<"范围内的质数有"<<count<<"个"<<endl;

	return 0;
}


备注:首先判断输入整数是否大于1,针对大于等于3的整数除2求余,若奇数,再对该奇数折半顺序相除,若全部不能整除,计数器加1,然后判断循环次数与计数器是否相等,相等,表示该数为奇。

猜你喜欢

转载自blog.csdn.net/huang123307/article/details/8698863