1007 素数对猜想

在这里插入图片描述

1007 素数对猜想

  • 题目描述
  • 解题思路
  • 代码

题目描述

点击直达题目链接
1007 素数对猜想_第1张图片

解题思路

第一步:求出所有小于等于n的素数
第二步:依次判断相邻的素数之间相差2,同时进行计数

代码

#include 
#include 
#include 
#include 
int main()
{
	int n,i,j;
	scanf("%d", &n);
	int* arr = (int*)malloc(n * sizeof(int));
	assert(arr);
	int a = 0,count=0;
	//判断素数并且储存素数
	//下面这个是求素数的方法
	for (i=2;i<=n;i++)
	{
		for (j = 2; j<= (int)sqrt(i); j++)
		{
			if (i % j == 0)
				break;
		}
		if (j > (int)sqrt(i))
			arr[a++] = i;
	}
	//判断相差2
	for (i = 0; i < a; i++)
	{
		if (arr[i + 1] - arr[i] == 2)
			count++;
	}
	free(arr);
	arr = NULL;
	printf("%d", count);

	return 0;
}

1007 素数对猜想_第2张图片

你可能感兴趣的:(PAT乙级刷题笔记,c语言,后端,开发语言)