【C++】01 素数对猜想

题目描述

素数对猜想

解题思路

  1. 写一个素数判断函数judge
  2. 从1开始判断,每遇到一个素数就判断其前面两个数是否为素数
  3. 若前一个数是合数,前两个数是素数,且前两个数不大于 n n n,则素数+1

C++程序

#include <iostream>
#include<cmath>
using namespace std;

bool judge(int x)
{
    
    
	if (x == 1)
	{
    
    
		return false;
	}
	if (x == 2)
	{
    
    
		return true;
	}
	for (int i = 2; i < sqrt(x) + 1; i++)
	{
    
    
		if (x % i == 0)
		{
    
    
			return false;
		}
	}
	return true;
}

int main()
{
    
    
	int n, num = 0;
	cin >> n;
	for (int i = 1; i < n; i++)
	{
    
    
		if (judge(i) && !judge(i + 1) && judge(i + 2)&&(i + 2 <= n))
		{
    
    
			num++; 
		}

	}
	cout << num << endl;

	system("pause");
	return 0;
}

猜你喜欢

转载自blog.csdn.net/weixin_43012724/article/details/103115251