【c++笔记】用c++解决一系列质数问题!

        质数是c语言和c++中比较常见的数学问题,本篇文章将带你走进有关质数的一系列基础问题,其中包含常见的思路总结,本篇文章过后,将会持续更新c++算法系列,感兴趣的话麻烦点个关注吧!

希望能给您带来帮助,谢谢您的观看!

目录

题目一:质数口袋

题目二:回文质数 Prime Palindromes

题目三:质数筛​编辑

 题目四:质因数分解

 做题总结:

①判断是否为质数的统一简单函数

②埃筛思想 

③一段时间以来对c语言与c++的感悟 


题目一:质数口袋

输入输出案例
输入100
输出
2
3
5
7
11
13
17
19
23
9

代码如下:

#include <bits/stdc++.h>
using namespace std;
int f(int n)
{int t=sqrt(n);for(int i=2;i<=t;i++){if(n%i==0){return 0;}}return n;
}int main()
{int a,sum=0,coun=0;cin>>a;for(int i=2;i<=a;i++){sum+=f(i);if(f(i)){printf("%d\n",i);coun++;} if(sum>=a)break;	}printf("%d",coun);return 0;
}

题目二:回文质数 Prime Palindromes

输入输出案例
输入5 500
输出
5
7
11
101
131
151
181
191
313
353
373
383

 代码如下:

#include <bits/stdc++.h>
using namespace std;
int f(int n)
{int t=sqrt(n);for(int i=2;i<=t;i++){if(n%i==0)return 0;}return n;
}void ff(int n)
{int t,m=0;t=n;while(n!=0)
{m=m*10+n%10;n=n/10;
}
if(m==t)
printf("%d\n",t);
}int main()
{int a,b,t;scanf("%d%d",&a,&b);for(int i=a;i<=b;i++){if(f(i)){ff(i);}	}return 0;
}

题目三:质数筛

输入输出案例
输入
5
3 4 5 6 7
输出3 5 7

代码如下 

#include <bits/stdc++.h>
using namespace std;
void st(long a[],long n)
{
for(int i=0;i<n;i++)
{for(int j=2;j<=a[i];j++){if(a[i]%j==0&&a[i]!=j){a[i]=0;break;}}if(a[i]!=0&&a[i]!=1)printf("%ld ",a[i]);
}
}
int main()
{long n;scanf("%ld",&n);long a[n];for(int i=0;i<n;i++)scanf("%ld",&a[i]);st(a,n);return 0; 
}

 题目四:质因数分解

输入输出案例
输入21
输出7

代码如下 

void st(int n)
{int i,j;printf("%d",j); 
}
int main()
{int n;scanf("%d",&n);st(n);return 0;
}

 做题总结:

①判断是否为质数的统一简单函数

int f(int n)
{int t=sqrt(n);for(int i=2;i<=t;i++){if(n%i==0)return 0;}return n;
}

很多情况下题目只要求质数部分,这个函数简单好用

②埃筛思想 

很多时候我们可以在数组中把质数定义为1,把非质数定义为0,这样就可以通过if条件语句对质数进行判断

同时这个方法对于把for循环条件里的i当作自然数的把握也十分有效

③一段时间以来对c语言与c++的感悟 

c语言与c++的写法实在是非常相同的,甚至很多时候只需要改一个头文件,但有的时候为了不tel,还是会选择性的去选择不同的函数,并且c++的函数较多,写代码时比较方便

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/636620.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

零基础学Python(2)— 安装Python开发工具之PyCharm

前言&#xff1a;Hello大家好&#xff0c;我是小哥谈。PyCharm是由JetBrains公司开发的一款Python开发工具。在Windows、Mac OS和Linux操作系统中都可以使用。它具有语法高亮显示、Project&#xff08;项目&#xff09;管理代码跳转、智能提示、自动完成、调试、单元测试和版本…

C++——函数的常见样式

常见的函数样式有4种&#xff0c;即在函数定义过程中函数的四种格式&#xff0c;他们也分别对应了四种调用方法&#xff1a; 1&#xff0c;无参无返 2&#xff0c;有参无返 3&#xff0c;无参有返 4&#xff0c;有参有返 示例&#xff1a; #include<bits/stdc.h> u…

x-cmd pkg | yt-dlp - 专注于 YouTube 的下载工具

目录 简介首次用户功能特点竞品和相关作品进一步探索 简介 yt-dlp 是一款强大的命令行下载工具&#xff0c;专注于下载 YouTube 视频和音频。它是 youtube-dl 的一个改进和拓展版本&#xff0c;提供了更多功能和修复了一些问题。 yt-dlp 具有灵活的支持&#xff0c;可下载 Yo…

武汉灰京文化:手游市场游戏体验和社交互动的新趋势

随着移动设备的普及和技术的不断提高&#xff0c;手游市场正在迎来全新的发展时期。用户的游戏习惯正在发生重大变化&#xff0c;他们越来越倾向于随时随地玩游戏。手游的便携性使得用户可以在公交车上、休息时间或等待朋友时轻松进行游戏。这种随时随地的游戏体验满足了现代生…

【成本价特惠】招募证书代理:工信部、PMP、阿里云、华为等认证,机会难得!

扫码和我联系 亲爱的读者朋友们&#xff0c; 今天&#xff0c;我想和大家分享一个难得的机会。我们目前正在积极招募各类证书的代理&#xff0c;包括工信部的证书、PMP&#xff08;项目管理专业人士&#xff09;证书、阿里云证书、华为证书、OCP 证书、CFA 证书等。这些证书在…

最大流—EK算法,流网络,残留网络,定理证明,详细代码

文章目录 零、卡车运输一、流网络1.1流网络1.2流1.3最大流1.4残留网络1.5增广路径1.6流网络的割1.7最大流最小割定理1.7.1证明 1.8Ford-Fulkerson方法 二、Edmonds-Karp算法2.1定义2.2EK算法的实现2.3EK算法详细代码2.4OJ练习 零、卡车运输 Lucky Puck公司有冰球工厂Vancouver…

Unity导出Android项目踩坑记录

导出的时候需要注意以下地方的配置&#xff1a; 1、buildSetting-> 设置ExportProject 2、buildsetting ->playerSetting ->设置IL2CPP 3、设置ndk edit->preferences->external tools->ndk 如果unity的ndk版本和android项目里的ndk版本不一致会报错&…

【Qt开发】初识Qt

文章目录 1. Qt的背景1.1 Qt是什么1.2 Qt的发展史1.3 Qt支持的平台 2. Qt开发环境的搭建2.1 Qt SDK下载2.2 Qt SDK的安装 3. 一个简单的Qt模板程序的创建4. Qt模板程序的代码讲解4.1 main.cpp4.2 widget.h4.3 widget.cpp4.4 widget.ui4.5 test_1_18.pro4.6 一些中间文件 5. Qt在…

keil软件仿真

提示&#xff1a;文章写完后&#xff0c;目录可以自动生成&#xff0c;如何生成可参考右边的帮助文档 文章目录 前言一、pandas是什么&#xff1f;二、使用步骤 1.引入库2.读入数据总结 前言 例如&#xff1a;随着人工智能的不断发展&#xff0c;机器学习这门技术也越来越重要…

vue基于Spring Boot框架的甘肃敦煌文化旅游管理系统

本敦煌文化旅游管理系统是为了提高用户查阅信息的效率和管理人员管理信息的工作效率&#xff0c;可以快速存储大量数据&#xff0c;还有信息检索功能&#xff0c;这大大的满足了用户和管理员这两者的需求。操作简单易懂&#xff0c;合理分析各个模块的功能&#xff0c;尽可能优…

(蓝桥杯每日一题)平方末尾及补充(常用的字符串函数功能)

能够表示为某个整数的平方的数字称为“平方数 虽然无法立即说出某个数是平方数&#xff0c;但经常可以断定某个数不是平方数。因为平方数的末位只可能是:0,1,4,5,6,9 这 6 个数字中的某个。所以&#xff0c;4325435332 必然不是平方数。 如果给你一个 2 位或 2 位以上的数字&am…

六、标准对话框、多应用窗体

一、标准对话框 Qt提供了一些常用的标准对话框&#xff0c;如打开文件对话框、选择颜色对话框、信息提示和确认选择对话框、标准输入对话框等。1、预定义标准对话框 &#xff08;1&#xff09;QFileDialog 文件对话框 QString getOpenFileName() 打开一个文件QstringList ge…

You need to add dependency of ‘poi-ooxml‘ to your project, and version >= 4.1.2

原因 由于在依赖中引用了多个版本的 hutool,导致在最终打包时使用的版本不是由在开发时所引用的版本 cn.hutool.core.exceptions.DependencyException: You need to add dependency of poi-ooxml to your project, and version > 4.1.2at cn.hutool.poi.excel.ExcelUtil.get…

MyBatis-Plus 日常操作

本文主要介绍 mybatis-plus 日常操作。 一、快速开始 本文基于 springboot、maven、jdk1.8、mysql 环境。 新建如下数据库&#xff1a; 建议大家选择 utf8mb4 这种字符集&#xff0c;做过微信的同学应该会知道&#xff0c;微信用户名称的表情&#xff0c;是需要这种字符集才…

基于python旅游推荐系统 协同过滤算法 爬虫 Echarts可视化 Django框架(源码)✅

毕业设计&#xff1a;2023-2024年计算机专业毕业设计选题汇总&#xff08;建议收藏&#xff09; 毕业设计&#xff1a;2023-2024年最新最全计算机专业毕设选题推荐汇总 &#x1f345;感兴趣的可以先收藏起来&#xff0c;点赞、关注不迷路&#xff0c;大家在毕设选题&#xff…

Android14之DefaultKeyedVector实现(一百八十二)

简介&#xff1a; CSDN博客专家&#xff0c;专注Android/Linux系统&#xff0c;分享多mic语音方案、音视频、编解码等技术&#xff0c;与大家一起成长&#xff01; 优质专栏&#xff1a;Audio工程师进阶系列【原创干货持续更新中……】&#x1f680; 优质专栏&#xff1a;多媒…

计算机组成原理 第一弹

ps&#xff1a;本文章的图片来源都是来自于湖科大教书匠高老师的视频&#xff0c;声明&#xff1a;仅供自己复习&#xff0c;里面加上了自己的理解 这里附上视频链接地址&#xff1a;1-2 计算机的发展_哔哩哔哩_bilibili ​​ 目录 &#x1f680;计算机系统 &#x1f680;计…

基于SpringBoot的欢乐校园管理系统

文章目录 项目介绍主要功能截图&#xff1a;部分代码展示设计总结项目获取方式 &#x1f345; 作者主页&#xff1a;超级无敌暴龙战士塔塔开 &#x1f345; 简介&#xff1a;Java领域优质创作者&#x1f3c6;、 简历模板、学习资料、面试题库【关注我&#xff0c;都给你】 &…

SpringMVC搭建环境

idea创建java项目后添加webapp怎么配置 1.首先在main下创建一个普通文件webapp 2. 3.选中你的项目&#xff0c;添加Web 4.修改这两处的路径&#xff0c;修改为你webapp所在的路径 先修改左下角的路径&#xff0c;然后再添加web.xml. 然后再修改右上角的地址&#xff0c;注…

基于SpringBoot Vue家政服务预约平台系统

大家好✌&#xff01;我是Dwzun。很高兴你能来阅读我&#xff0c;我会陆续更新Java后端、前端、数据库、项目案例等相关知识点总结&#xff0c;还为大家分享优质的实战项目&#xff0c;本人在Java项目开发领域有多年的经验&#xff0c;陆续会更新更多优质的Java实战项目&#x…