PAT上分記(c++ + 完美過關)---1007---素數對猜想

素數對猜想 c++

在這裏插入圖片描述

#include<stdio.h>
#include<iostream>
#include<cmath>

int is_sushu(int num) {
	int i;
	for (i = 2; i <= sqrt(num+2); i++) {
		if (num % i == 0 || (num + 2) % i == 0) {
			return 0;
		}
	}
	return 1;
}

int main() {
	int number = 0, sum = 0 ;
	std::cin >> number;
	if (number < 5) {
		std::cout << 0;
		return 0;
	}
	for (int i = 3; i <= number - 2; i = i + 2) {
		//std::cout << i;
		if (is_sushu(i) == 1) {
			//std::cout << i << '\n';
			sum++;
		}
	}
	std::cout << sum;
	return 0;
}


唯一值得注意的一點就是,在循環判斷是否是素數的時候,區間是n+2的方根數而不是n-1

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章