素数对猜想 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