首页 > 其他分享 >7-1 素数对猜想(C语言)

7-1 素数对猜想(C语言)

时间:2024-08-31 16:37:21浏览次数:9  
标签:猜想 标记 int C语言 素数 num

7-1 素数对猜想

题目

参考代码

#include <stdio.h>
int main()
{
	// 一、用埃拉托斯特尼筛法,找出所有的素数
	int num[100002];
	int N;
	scanf("%d", &N);
	for (int i = 2; i < N + 2; i++) // 赋初值为1,表示均为素数
		num[i] = 1;

	// 把未标记的数的的倍数,全部标记为非素数0
	int k = 2;
	while (k <= N)
	{
		if (num[k] == 1)
		{
			int p = 2; // 乘以的倍数:减少复杂度,防止超时
			for (int i = k * 2; i <= N; i += k)
				num[i] = 0;
		}
		k++;
	}

	// 二、把找出来的素数,组成一个新数组priNum
	int priNum[100002];
	int t = 0;
	for (int i = 2; i <= N; i++)
	{
		if (num[i] == 1)
		{
			priNum[t] = i;
			t++;
		}
	}

	// // 输出所有素数,检查
	// for (int i = 0; i < t; i++)
	// {
	// 	printf("%d ", priNum[i]);
	// }

	// 三、逐个相减判断是否偶数,用sum计数, 输出sum
	int sum = 0;
	for (int i = 0; i < t - 1; i++)
	{
		if ((priNum[i + 1] - priNum[i]) == 2)
			sum++;
	}
	printf("%d", sum);
	return 0;
}

标签:猜想,标记,int,C语言,素数,num
From: https://www.cnblogs.com/yesno233233/p/18390453

相关文章

  • 【华为OD机试真题E卷】31、最大社交距离 | 机试真题+思路参考+代码分析(E卷复用)(C语言、
    文章目录一、题目......
  • Python比C语言到底有什么优势?为什么越来越多人都学python?
    Python作为一种高级编程语言,在众多编程语言中脱颖而出,主要得益于其多方面的优势。以下是Python相比于其他语言的一些显著优势:简单易学:Python的语法清晰、简洁,易于阅读和编写,这使得它成为初学者的首选语言。其语法结构接近于自然语言,减少了学习曲线的陡峭度。丰富的库和框......
  • C语言(vs2022、Vc++6.0、DevC++)连接MySql
    本文c++(OraOla编写)与Java(Wideskyzz编写)由于csdn的排版太垃圾了,所以可以直接看资料上传资料也麻烦,所以可直接访问我的giteeC语言连接MySql:C语言(vs2022、Vc++6.0、DevC++)连接MySqlhttps://gitee.com/gyhjim/c-language-connection---my-sql一定要自己实践当你发现与我的......
  • CCF-CSP 2024 --重塑矩阵1,2c语言题解
     创作想法是因为像我当初大一时候想参加一些比赛但是奈何只学了c和c相关数据结构,但是对于许多竞赛的题目的题解往往都是c++或者其他面向对象的编程语言,让我们难以在c语言基础上入手这些比较复杂的题目。 创造的目的是为了帮助各位同时提高我对c语言编程的理解和锻炼个人......
  • C语言 ——— 文件的顺序读写
    目录顺序读写函数介绍​编辑测试fputc函数​编辑测试fgetc函数​编辑测试fputs函数​编辑测试fputs 函数​编辑测试fgets函数​编辑顺序读写函数介绍 测试fputc函数第一个参数是传递字符,第二个参数传递文件指针 #include<stdio.h>intmain(){ //......
  • C语言 - 各个进制之间的相互转换
    目录一、二进制1.二进制  >> 八进制2.二进制  >> 十进制3. 二进制 >> 十六进制二、八进制1.八进制  >> 二进制2.八进制  >> 十进制3.八进制  >> 十六进制三、十进制1.十进制  >> 二进制2.十进制  >> 八进制3.十进制  ......
  • IO进程练习:请在linux 利用c语言编程实现两个线程按照顺序依次输出”ABABABAB......“
    例如:a线程输出”A”之后b线程输出”B”,然后a线程输出“A”,再b线程输出”B”,之后往复循环。【1】使用信号量实现代码展示:#include<stdio.h>#include<pthread.h>#include<string.h>#include<semaphore.h>#include<unistd.h>//定义两个全局信号量,实现同步机制se......
  • C语言基础(二十八)
    1、冒泡排序: #include"date.h"#include<stdio.h>#include<stdlib.h>#include<time.h>//函数声明voidbubbleSort(int*arr,intn);int*createRandomArray(intn,int*size);intmain(){inttime=getTime();......
  • C语言基础(二十九)
    1、快速排序:#include"date.h"#include<stdio.h>#include<stdlib.h>#include<time.h>//函数声明voidquickSort(int*arr,intlow,inthigh);voidswap(int*xp,int*yp);voidprintArray(int*arr,intsize);intpar......
  • 卡尔曼滤波算法(c语言代码)
    卡尔曼滤波器是一种用于估计动态系统状态的算法,常用于信号处理、控制系统、机器人和导航等领域。以下是一个简单的卡尔曼滤波器的C语言实现示例。这个示例展示了如何使用卡尔曼滤波器来估计一维系统的状态。1.卡尔曼滤波器算法概述卡尔曼滤波器由两部分组成:预测和更新。基......