当前位置: 首页 > article >正文

蓝桥杯准备 【入门3】循环结构

素数小算法(埃氏筛&&欧拉筛)

以下四段代码都是求20以内的所有素数

1.0版求素数
#include<iostream>
using namespace std;int main() {int n = 20;for(int i=2;i<=n;i++){int j=0;for(j=2;j<=i;j++)//遍历i{if(i%j==0){break;}}if(i==j){cout<<i<<endl;}}return 0;
}
2.0版(最爱的一版)

任何合数是两个数相乘得的,很明显,其中一个数必小于等于sqrt(合数),所以我们在上一段代码的基础上,只遍历2-sqrt(该数)即可

#include<iostream>
using namespace std;int main() {int n = 20;for(int i=2;i<=n;i++){int j=0;for(j=2;j*j<=i;j++)//遍历一部分{if(i%j==0){break;}}if(j*j>i){cout<<i<<endl;}}return 0;
}
3.0版(埃氏筛)

就这样把质数的倍数,一点点false掉

#include<iostream>
using namespace std;
int main()
{int n=20;bool isprime[n+1];for(int i=0;i<n+1;i++){isprime[i]=true;}isprime[0]=false;isprime[1]=false;for(int i=2;i<n+1;i++){if(isprime[i]){for(int j=i*i;j<n+1;j+=i){isprime[j]=false;}	}	}for(int i=0;i<n+1;i++){if(isprime[i]){cout<<i<<endl;}}return 0;
}
4.0版(欧拉筛)

跟上一个埃氏筛,不会重复,也是一点点false掉筛去

#include<iostream>
using namespace std;int main() {int n = 20;bool isprime[n + 1];int primes[n + 1];  for (int i = 0; i <= n; i++) {isprime[i] = true;}isprime[0] = false;isprime[1] = false;int prime_count = 0;  for (int i = 2; i <= n; i++) {if (isprime[i]) {primes[prime_count] = i;  prime_count++;}for (int j = 0; j < prime_count && primes[j] <= n / i ; j++) {isprime[primes[j] * i] = false;if (i % primes[j] == 0) {break;}}}for (int i = 2; i <= n; i++) {if (isprime[i]) {cout << i << endl;}}return 0;
}

P5723 【深基4.例13】质数口袋

题目描述

小 A 有一个质数口袋,里面可以装各个质数。他从 22 开始,依次判断各个自然数是不是质数,如果是质数就会把这个数字装入口袋。

口袋的负载量就是口袋里的所有数字之和。

但是口袋的承重量有限,装的质数的和不能超过 LL。给出 LL,请问口袋里能装下几个质数?将这些质数从小往大输出,然后输出最多能装下的质数的个数,数字之间用换行隔开。

代码

注意特殊点1和0

解法一

#include<iostream>
using namespace std;
int main(){int n;cin>>n;int sum=0;int prime[10000]={0};int c=0;for(int i=2;i<=100000;i++){int j=0;for(j=2;j*j<=i;j++){if(i%j==0){break;}}if(j*j>i){prime[c++]=i;}}int count=0;if(n>=2){for(int i=0;i<c-1;i++){cout<<prime[i]<<endl;sum+=prime[i];count++;if(sum+prime[i+1]>n){break;}}}cout<<count<<endl;
}

解法二

#埃氏筛
#include<iostream>
using namespace std;
int main(){int n;cin>>n;int sum=0;int prime[10000]={0};//储存素数bool isprime[100000];//判断素数for(int i=0;i<100000;i++)//全部置true{isprime[i]=true;}int c=0;isprime[0]=false;isprime[1]=false;//注意 0 1不是素数for(int i=2;i<=100000;i++)//开始筛选{if(isprime[i]){prime[c++]=i;for(long long j=(long long)i*i;j<100000;j+=i){isprime[j]=false;//合数置假}}}int count=0;//计数if(n>=2)//注意n等于0 1 时应该输出0{for(int i=0;i<c-1;i++){cout<<prime[i]<<endl;//输出sum+=prime[i];count++;if(sum+prime[i+1]>n){break;}}}cout<<count<<endl;//输出
}

解法三

#欧拉筛
#include<iostream>
using namespace std;
int main(){int n;cin>>n;int sum=0;int prime[10000]={0};bool isprime[100001];for(int i=0;i<=100000;i++){isprime[i]=true;}int c=0;isprime[0]=false;isprime[1]=false;for(int i=2;i<=100000;i++)//筛{if(isprime[i]){prime[c++]=i;}for(int j=0; j < c && prime[j] <= 100000 / i;j++){isprime[prime[j]*i]=false;if(i%prime[j]==0){break;}}}int count=0;if(n>=2){for(int i=0;i<c-1;i++){cout<<prime[i]<<endl;sum+=prime[i];count++;if(sum+prime[i+1]>n){break;}}}cout<<count<<endl;
}

P1217 [USACO1.5] 回文质数 Prime Palindromes

题目描述

因为 151151 既是一个质数又是一个回文数(从左到右和从右到左是看一样的),所以 151151 是回文质数。

写一个程序来找出范围 [a,b](5≤a<b≤100,000,000)[a,b](5≤a<b≤100,000,000)(一亿)间的所有回文质数。

代码

#include<iostream>
using namespace std;
int main(){int n,m;cin>>n>>m;int a[10]={0}; //数组储存每位数for(int i=n;i<=m;i++){bool hui=true;//注意在此位置初始化hui为trueint x=i;int c=0;while(x>0){a[c++]=x%10;x=x/10;}for(int j=0;j<=c/2;j++)//判断是否是回文数{if(a[j]!=a[c-j-1]){hui=false;break;}}if(hui)//在回文的条件下判断是否是质数{	int j=2;for(j=2;j*j<=i;j++){if(i%j==0){break;}}if(j*j>i){cout<<i<<endl;//输出}}}
}

P1423 小玉在游泳

题目描述

小玉开心的在游泳,可是她很快难过的发现,自己的力气不够,游泳好累哦。已知小玉第一步能游 22 米,可是随着越来越累,力气越来越小,她接下来的每一步都只能游出上一步距离的 98%98%。现在小玉想知道,如果要游到距离 ss 米的地方,她需要游多少步呢。请你编程解决这个问题。

代码

普通方法

(窝感觉是暴力解法,hhh)

 #include<iostream>using namespace std;int main(){double n;cin>>n;double s=2.0;double sum=2.0;if(n<=2)//特判{cout<<"1"<<endl;}else if(n>2&&n<=100){for(int i=2;i<=2000;i++)//从第二步开始算{s=s*0.98;sum+=s;if(sum>=n){cout<<i<<endl;break;}}}}
数学方法

 #include<iostream>#include<cmath>using namespace std;int main(){double n;cin>>n;double a=2.0;double sum=2.0;if(n<=2){cout<<"1"<<endl;}else if(n>2&&n<=100){int x=ceil(log(1-1.0*(n*(1-0.98))/a)/log(0.98));//计算xfor(int i=2;i<=x;i++){a=a*0.98;sum+=a;if(sum>=n){cout<<i<<endl;break;}}}}

P1420 最长连号

题目描述

输入长度为 nn 的一个正整数序列,要求输出序列中最长连号的长度。

连号指在序列中,从小到大的连续自然数。

 #include<iostream>#include<cmath>using namespace std;int main(){int n;cin>>n;int a[n]={0};cin>>a[0];int f=a[0];int count=0;int b=0;for(int i=1;i<n;i++){cin>>a[i];//判断是否连号if(f==a[i]-1){count++;}else//否,次数置零{count=0;}//比较连号长度if(count>=b){b=count;}	f=a[i];//重置f}b++;//count++表示第一个数后面连号的次数,最后要加上第一个数cout<<b<<endl;//输出}

P1089 [NOIP 2004 提高组] 津津的储蓄计划

题目描述

津津的零花钱一直都是自己管理。每个月的月初妈妈给津津 300300 元钱,津津会预算这个月的花销,并且总能做到实际花销和预算的相同。

为了让津津学习如何储蓄,妈妈提出,津津可以随时把整百的钱存在她那里,到了年末她会加上 20%20% 还给津津。因此津津制定了一个储蓄计划:每个月的月初,在得到妈妈给的零花钱后,如果她预计到这个月的月末手中还会有多于 100100 元或恰好 100100 元,她就会把整百的钱存在妈妈那里,剩余的钱留在自己手中。

例如 1111月初津津手中还有 8383 元,妈妈给了津津 300300 元。津津预计1111月的花销是 180180 元,那么她就会在妈妈那里存 200200 元,自己留下 183183 元。到了 1111 月月末,津津手中会剩下 33 元钱。

津津发现这个储蓄计划的主要风险是,存在妈妈那里的钱在年末之前不能取出。有可能在某个月的月初,津津手中的钱加上这个月妈妈给的钱,不够这个月的原定预算。如果出现这种情况,津津将不得不在这个月省吃俭用,压缩预算。

现在请你根据 20042004 年 11 月到 1212 月每个月津津的预算,判断会不会出现这种情况。如果不会,计算到 20042004 年年末,妈妈将津津平常存的钱加上 20%20% 还给津津之后,津津手中会有多少钱。

代码

 #include<iostream>using namespace std;int main(){int a[12]={0};for(int i=0;i<12;i++){cin>>a[i];}int b=0;int sum=0;bool flag =true;for(int i=0;i<12;i++){int c=3;//整百数量for(int j=1;j<=3;j++)//计算当月剩整百的数量及这个月总钱{if(sum<a[i]){sum+=100;c--;}else{break;}}sum=sum-a[i];//当月月余if(sum<0)//判断是否有月余{cout<<'-'<<i+1<<endl;flag=false;break;}else{b+=c;//整百数累加}}if(flag)//输出总钱{cout<<b*120+sum<<endl;}return 0;}

小总结

相关文章:

蓝桥杯准备 【入门3】循环结构

素数小算法&#xff08;埃氏筛&&欧拉筛&#xff09; 以下四段代码都是求20以内的所有素数 1.0版求素数 #include<iostream> using namespace std;int main() {int n 20;for(int i2;i<n;i){int j0;for(j2;j<i;j)//遍历i{if(i%j0){break;}}if(ij){cout&l…...

MySQL三大日志——binlog、redoLog、undoLog详解

日志是mysql数据库的重要组成部分&#xff0c;记录着数据库运行期间各种状态信息&#xff0c;能帮助我们进行很多容错及分析工作&#xff0c;其中有三大日志与我们这些开发者息息相关&#xff0c;本文将介绍binlog、redoLog、undoLog三种日志&#xff1a; 1. redoLog 1.1 为什么…...

IDEA中Resolving Maven dependencies卡着不动解决方案

一、修改settings.xml Maven配置阿里云仓库主要通过修改Maven的settings.xml文件来实现‌。以下是具体步骤: ‌1、找到settings.xml文件‌: 通常位于Maven安装目录下的conf文件夹中,或者在用户目录下的.m2文件夹中(如果用户自定义了settings.xml的位置)。 2、‌编辑se…...

组合(力扣77)

从这道题开始&#xff0c;我们正式进入回溯算法的学习。之前在二叉树中只是接触到了一丢丢&#xff0c;而这里我们将使用回溯算法解决很多经典问题。 那么这道题是如何使用回溯算法的呢&#xff1f;在讲回溯之前&#xff0c;先说明一下此题是如何递归的。毕竟回溯递归不分家&a…...

X86中的常用寄存器

通用寄存器16个 RAX, RBX, RCX, RDX, RSI, RDI, RSP, RBP, R8, R9, R10, R11, R12, R13, R14, R15 其中&#xff1a; RAX&#xff1a;调用程序时&#xff0c;用于存储返回值。RCX&#xff1a;在字符串处理指令中&#xff0c;常用做计数器。RSI&#xff1a;在字符串处理指令中…...

SpringAI系列 - 使用LangGPT编写高质量的Prompt

目录 一、LangGPT —— 人人都可编写高质量 Prompt二、快速上手2.1 诗人 三、Role 模板3.1 Role 模板3.2 Role 模板使用步骤3.3 更多例子 四、高级用法4.1 变量4.2 命令4.3 Reminder4.4 条件语句4.5 Json or Yaml 方便程序开发 一、LangGPT —— 人人都可编写高质量 Prompt La…...

git撤销上一次的提交

1、撤销提交 如果需要撤销上一次的提交&#xff0c;只是提交到了本地&#xff0c;可以通过命令&#xff1a; // 撤销最近的提交&#xff08;保留修改&#xff09; git reset --soft HEAD~1 这个操作可以保留之前的提交和当前的修改。最近一次的提交到本地的修改的提交会回到…...

springboot+vue导入ruoyi项目的框架

一、介绍 RuoYi-Vue版本&#xff0c;采用了前后端分离的单体架构设计软件环境&#xff1a;JDK、Mysql、Redis、Maven、Node技术选型: Spring Boot、Spring Security、MyBatis、Jwt、Vue3、Element-Plus官方地址: https://gitee.com/y_project/RuoYi-Vue 官方推荐的版本如下&a…...

Conmi的正确答案——Rider中添加icon作为exe的图标

C#版本&#xff1a;.net 8.0 Rider版本&#xff1a;#RD-243.22562.250&#xff08;非商业使用版&#xff09; 1、添加图标到解决方案下&#xff1a; 2、打开“App.xaml”配置文件&#xff0c;添加配置&#xff1a; <Applicationx:Class"ComTransmit.App"xmlns&q…...

360手机刷机 360手机解Bootloader 360手机ROOT

360手机刷机 360手机解Bootloader 360手机ROOT 问&#xff1a;360手机已停产&#xff0c;现在和以后&#xff0c;能刷机吗&#xff1f; 答&#xff1a;360手机&#xff0c;是肯定能刷机的 360手机资源下载网站 360手机-360手机刷机RootTwrp 360os.top 360rom.github.io 一、…...

电风扇各国检测认证详细介绍美国FCC+UL欧盟CE+ROHS日本PSE+METI备案+英国UKCA

美国 &#xff1a; FCC认证 &#xff1a;产品进入美洲市场的通行证&#xff0c;需通过FCC SDOC认证。 FCC第15部分B: 该标准适用于非故意辐射设备&#xff0c;如家用电器、电脑设备等。它规定了这些设备在电磁环境中不会产生过多的辐射。 ​射频标准: FCC第15部分C:该标准适…...

实验3 词法分析(二)

实验3 词法分析(二) [实验目的]&#xff1a; 1 . 熟悉给定的词法分析程序&#xff1b; 2 . 改进词法分析程序。 [实验内容]&#xff1a; 1.尝试多方面改进TEST语言的文法&#xff0c;参考教材附录B词法分析程序TESTscan.c&#xff0c;在此词法分析程序的基础上改进程序&#x…...

VsCode创建VUE项目

1. 首先安装Node.js和npm 通过网盘分享的文件&#xff1a;vsCode和Node&#xff08;本人电脑Win11安装&#xff09; 链接: https://pan.baidu.com/s/151gBWTFZh9qIDS9XWMJVUA 提取码: 1234 它们是运行和构建Vue.js应用程序所必需的。 1.1 Node安装&#xff0c;点击下一步即可 …...

【自开发工具介绍】SQLSERVER的ImpDp和ExpDp工具04

SQLSERVER的ImpDp和ExpDp工具演示 1、指定某些表作为导出对象外 (-exclude_table) 验证用&#xff1a;导出的表&#xff0c;导入到新的数据库 2、指定某些表作为导出对象外 (-exclude_table) 支持模糊检索&#xff0c;可以使用星号 以s开头的表作为导出对象外&#xff0c;…...

国内知名Deepseek培训师培训讲师唐兴通老师讲授AI人工智能大模型实践应用

课程名称 《Deepseek人工智能大模型实践应用》 课程目标 全面了解Deepseek人工智能大模型的技术原理、功能特点及应用场景。 熟练掌握Deepseek大模型的提示词工程技巧&#xff0c;能够编写高质量的提示词。 掌握Deepseek大模型在办公、营销等领域的应用方法&#xff0c;提升…...

4.Python字符串和列表:字符串输入、字符串输出、下标和切片、字符串常见函数、列表(list)、列表的循环遍历、列表的增删改查、列表的嵌套、列表的切片

1. Python 字符串 1.1 字符串输入 input() 函数用于从用户获取字符串输入。它总是返回一个字符串类型的值。 # 从用户输入字符串 name input("请输入你的名字&#xff1a;") print(f"你好, {name}")1.2 字符串输出 字符串的输出通常使用 print() 函数…...

【C语言标准库函数】指数与对数函数:exp(), log(), log10()

目录 一、头文件 二、函数简介 2.1. exp(double x) 2.2. log(double x) 2.3. log10(double x) 三、函数实现&#xff08;概念性&#xff09; 3.1. exp(double x) 的模拟实现 3.2. log(double x) 和 log10(double x) 的模拟实现 四、注意事项 4.1. exp(double x) 的注…...

小白系列:数据库基础知识解析

前言 今天&#xff0c;我打算用简单明了的语言来讲解一下数据库的基本概念。总体上&#xff0c;这些内容与我在视频中讲解的基本一致。如果你发现视频的讲解有些难以理解&#xff0c;不妨看看这篇文字版的解释&#xff0c;希望能够更快速地帮助你掌握数据库的相关知识。需要注…...

【AIGC魔童】DeepSeek核心创新技术(二):MLA

【AIGC魔童】DeepSeek核心创新技术&#xff08;二&#xff09;&#xff1a;MLA 1. MLA框架的定义与背景2. MLA框架的技术原理&#xff08;1&#xff09;低秩联合压缩&#xff08;2&#xff09;查询的低秩压缩&#xff08;3&#xff09;旋转位置嵌入&#xff08;RoPE&#xff09…...

Windows Docker笔记-制作、加载镜像

引言 在文章《Windows Docker笔记-在容器中运行项目》中&#xff0c;已经在容器中运行了项目。而且在这个容器中&#xff0c;已经调试好了项目运行的环境。 使用docker&#xff0c;就是为了在项目发布到生产环境时&#xff0c;不用再去安装项目运行的环境&#xff0c;直接丢给…...

安卓/ios脚本开发按键精灵经验小分享

1. 程序的切换 我们经常碰到这样的需求&#xff1a;打开最近的应用列表&#xff0c;选取我们想要的程序。但是每个手机为了自己的风格&#xff0c;样式都有区别&#xff0c;甚至连列表的滑动方向都不一样&#xff0c;我们很难通过模拟操作来识别点击&#xff0c;那么我们做的只…...

(动态规划 leetcode377)组合求和IV

确立状态转移方程需要深入理解问题&#xff0c;合理定义子问题&#xff0c;找到边界条件(比如dp[0])&#xff0c;分析状态之间的转移关系&#xff08;dp和dp之间的关系&#xff09;&#xff0c;并进行验证。 递归是自顶向下&#xff0c;而dp是自下而上 这里是i作为目标值&…...

备赛蓝桥杯之第十五届职业院校组省赛第四题:多表单校验

提示&#xff1a;本篇文章仅仅是作者自己目前在备赛蓝桥杯中&#xff0c;自己学习与刷题的学习笔记&#xff0c;写的不好&#xff0c;欢迎大家批评与建议 由于个别题目代码量与题目量偏大&#xff0c;请大家自己去蓝桥杯官网【连接高校和企业 - 蓝桥云课】去寻找原题&#xff0…...

完全离线部署deepseek并建立本地知识库应用电子数据取证领域

点击上方蓝字“小谢取证”一起玩耍 之前小谢推出一篇部署本地大模型教程&#xff0c;但需要网络环境 AI机器人本地免费部署&#xff08;部署Llama 3.1详细教程&#xff09; 还是比较受到读者的欢迎&#xff0c;但应读者要求&#xff1a;需要这个模型能够训练&#xff0c;能够…...

C语言-内存泄漏

1、内存泄漏 申请的空间没有释放 2、内存泄漏的原因 未释放内存&#xff1a;程序完成使用动态分配的内存后&#xff0c;忘记调用free()释放。 引用丢失&#xff1a;在分配内存后&#xff0c;指针被修改或丢失&#xff0c;导致无法访问到原始内存块。 多次分配&#xff1a;在分…...

ctf网络安全题库 ctf网络安全大赛答案

此题解仅为部分题解&#xff0c;包括&#xff1a; 【RE】&#xff1a;①Reverse_Checkin ②SimplePE ③EzGame 【Web】①f12 ②ezrunner 【Crypto】①MD5 ②password ③看我回旋踢 ④摩丝 【Misc】①爆爆爆爆 ②凯撒大帝的三个秘密 ③你才是职业选手 一、 Re ① Reverse Chec…...

深度分析:网站快速收录与网站内容多样性的关系

本文转自&#xff1a;百万收录网 原文链接&#xff1a;https://www.baiwanshoulu.com/87.html 网站快速收录与网站内容多样性之间存在着密切的关系。以下是对这一关系的深度分析&#xff1a; 一、网站内容多样性对快速收录的影响 提升搜索引擎抓取效率&#xff1a; 多样化的…...

SolidWorks教程P2.2【草图 | 第二节】——草图几何关系与编辑

草图几何关系包括&#xff1a;重合、中点、相切、平行、相等、共线、对称 草图编辑功能包括&#xff1a;裁剪实体、转换实体引用、等距实体 目录 1.草图几何关系 2.裁剪实体 3.转换实体引用 4.等距实体 补充知识&#xff1a;智能尺寸 1.草图几何关系 在之前的草图介绍里…...

数据库系统概念第六版记录 三

外码约束&#xff08;Foreign Key Constraint&#xff09; 外码&#xff08;Foreign Key, FK&#xff09;是关系数据库中的一个约束&#xff0c;它用于保证表之间的引用完整性。外码的值必须&#xff1a; 要么存在于被引用表的主键列中&#xff0c;要么为空&#xff08;NULL&…...

使用 Axios 进行高效的数据交互

一、前言 1. 项目背景与目标 Axios 的重要性: Axios 是一个基于 Promise 的 HTTP 客户端,用于浏览器和 Node.js,简化了与服务器的通信。Axios 提供了丰富的功能,如拦截器、并发请求管理、取消请求等。2. 环境搭建 开发工具准备: 推荐使用 VSCode 或 WebStorm。安装必要的…...