![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
编程算法
Emmett-Brown
这个作者很懒,什么都没留下…
展开
-
2021-01-10
C++ STL函数库1.简介: C++ STL(Standard Template Library 标准模板库)是一套功能强大的 C++ 模板类,提供了通用的模板类和函数,这些模板类和函数可以实现多种流行和常用的算法和数据结构,如向量、链表、队列、栈。2.核心组成: C++ 标准模板库的核心包括以下三个组件:容器(Containers) 容器是用来管理某一类对象的集合。C++ 提供了各种不同类型的容器,比如 deque、list、vector、map 等。算法(Algorithms) 算法作原创 2021-01-10 23:17:26 · 141 阅读 · 1 评论 -
蓝桥杯ACM难题-汽水瓶 2021-01-04
蓝桥杯ACM难度题-汽水瓶1.问题描述 有这样一道智力题:“某商店规定:三个空汽水瓶可以换一瓶汽水。小张手上有十个空汽水瓶,她最多可以换多少瓶汽水喝?”答案是5瓶,方法如下:先用9个空瓶子换3瓶汽水,喝掉3瓶满的,喝完以后4个空瓶子,用3个再换一瓶,喝掉这瓶满的,这时候剩2个空瓶子。然后你让老板先借给你一瓶汽水,喝掉这瓶满的,喝完以后用3个空瓶子换一瓶满的还给老板。如果小张手上有n个空汽水瓶,最多可以换多少瓶汽水喝?2.算法分析 三个空瓶子换一瓶汽水,故我们可以先将所有的空瓶换成汽水并统计剩下的原创 2021-01-04 22:24:05 · 713 阅读 · 1 评论 -
蓝桥杯ACM中等题-求素数和 2021-01-04
蓝桥杯ACM中等题-求素数和1.问题分析 sum=2+5+8+11+14+…,输入正整数n,求sum的前n项和。2.算法分析 先判断素数,假如是则加入总和。3.输入 无4.输出 无5.输入例子 46.输出例子 267.代码#include<iostream>using namespace std;int main(){int n,i,m=-1,j=0;cin>>n;for(i=0;i<n;i++){m=m+原创 2021-01-04 22:18:00 · 421 阅读 · 0 评论 -
蓝桥杯ACM中档题-求素数和 2021-01-04
蓝桥杯ACM中档题-求素数和1.问题描述 输入两个正整数m和n(m<n),求m到n之间(包括m和n)所有素数的和,要求定义并调用函数isprime(x)来判断x是否为素数(素数是除1以外只能被自身整除的自然数)。2.算法分析 3.输入 m n4.输出 一个数据5.输入例子 2 36输出例子 57.代码#include <stdio.h>#include <math.h>int isprime(int x){ int i,j原创 2021-01-04 21:59:38 · 757 阅读 · 0 评论 -
蓝桥杯ACM简单题-分段函数求值 2021-01-04
蓝桥杯ACM简单题-分段函数求值1.题目分析: 有一个函数 y= x x<1 2x-1 1<=x<10 3x-11 x>=10写一段程序,输入x,输出y2.算法分析: 简单的if判断即可完成3.输入 24.输出 35.代码#include<stdio.h>int main(){int x,y;scanf("%d",&x);if(x<1){y=x;}else if(1&原创 2021-01-04 21:56:46 · 235 阅读 · 0 评论 -
蓝桥杯ACM中等题-猴子选大王 2020-12-22
蓝桥杯ACM中等题-猴子选大王1、问题描述 现在n只猴子依次围成一圈,从一开始依次报数至n,报到n的猴子出局,并从下一个猴子开始报1,直到最后一位猴子留下成为大王。2.算法分析 首先我们需要足够大的空间来存储这些猴子的编号,于是我们便将原来的猴子从1依次编号并存储在数组里。后利用循环让其依次报数,使用条件判断来将报到n的猴子去除,(将其赋值为1)。直到最后一个猴子。3.输入 n=22,m=54.输出 猴王是9号5.代码#include <stdio.h>char c原创 2020-12-22 17:18:58 · 261 阅读 · 0 评论 -
蓝桥杯ACM中等题-门牌制作 2020-12-22
蓝桥杯ACM中等题-门牌制作1.问题描述 小蓝要为一条街的住户制作门牌号。这条街一共有 2020 位住户,门牌号从 1 到 2020 编号。小蓝制作门牌的方法是先制作 0 到 9 这几个数字字符,最后根据需要将字符粘贴到门牌上,例如门牌 1017 需要依次粘贴字符 1、 0、 1、 7,即需要 1 个字符 0, 2 个字符 1, 1 个字符 7。请问要制作所有的 1 到 2020 号门牌,总共需要多少个字符 2?2.算法分析 首先我们需要考虑到每一个门牌号,故使用循环,本题只需要考虑2的个数,故原创 2020-12-22 12:59:18 · 890 阅读 · 1 评论 -
蓝桥杯ACM简单题-交换瓶子 2020-12-22
## 蓝桥杯ACM简单题-交换瓶子1.问题描述 有N个瓶子,编号 1 ~ N,放在架子上,要求每次拿起2个瓶子,交换它们的位置,依照大小排序。2.算法分析 现任这是排序问题,在此使用寻找排序法3.输入请输入要排序瓶子的个数:3请输入您的数,且用空格或回车隔开每个数: 532 545 1234输出123 532 545代码#include <stdio.h>int main(){ int n, i, max, save, flag, nsave; pr原创 2020-12-22 12:44:55 · 401 阅读 · 0 评论 -
蓝桥杯ACM简单题-生日蜡烛 2020-12-22
## 蓝桥杯ACM简单题-生日蜡烛1.问题描述 某人从某年开始每年都举办一次生日派对,并且每次都要吹熄与年龄相同根数的蜡烛。现在算起来,他一共吹熄了236根蜡烛。请问,他从多少岁开始过生日派对的?2.算法分析 显然为一个递推问题,故使用循环,我们可以从1岁试起进行求解,注意最后限制范围,否则可能为无限循环。3.输出结果 开始: 26 结束: 334.代码#include<stdio.h>int main(){ int start, end; //年龄的下限和上原创 2020-12-22 12:36:27 · 450 阅读 · 0 评论 -
蓝桥杯ACM简单题-煤球计数 2020-12-22
蓝桥杯ACM简单题1.问题描述第一层放1个,第二层3个,第三层6个,第四层10个。。。。呈三角形。那如果一共有100层,请问共有多少个煤球?2.算法分析显然,这是一个递推(数列)类型的问题。使用推法。基本递推法是:后一项是前面若干项的计算。用是一个简单的for循环。这个问题中的数据是整型,但是,有些问题的计算过程和计算结果是浮点型。所以,在这一点要特别小心。“一堆煤球”、“三角棱锥形”,“请填表示煤球总数目的数字”、“注意:你提交的应该是一个整数,不要填写任何多余的内容或说明性文字”。有一堆煤球,堆原创 2020-12-22 12:26:43 · 513 阅读 · 0 评论 -
蓝桥杯ACM进阶题-带利润金额计算 2020-12-13
蓝桥杯ACM进阶题-带利润金额计算1.问题描述 现一父母为将上大学的孩子在银行存入一笔金额,准备每个月给以前,考虑银行月利润0.015,钱在4年后刚好用完,求该存入多少钱。2.算法分析 钱用完说明最后一个月钱刚好取光,则逆向运算更可取,经简单推可得上一个月钱表达式为1000-0.015+1000元。以此类推3.输出样式 需要存入34049元#include <stdio.h>int main(){ int i=0; float money=1000;原创 2020-12-13 09:34:13 · 133 阅读 · 0 评论 -
蓝桥杯中等题目-天数转日期 2020-12-13
蓝桥杯中等题目-天数转日期1.问题描述 用户输入一个天数,程序输出一个日期,注意闰年问题,该问题必须一次性解决。2.算法分析 循环加判断嵌套即可完成,循环用于分解天数,判断决定天数。3.输入格式 年/日4.输入样式 2020/3505.输出格式 月/日6.输出样式 12/15#include<stdio.h>int main(){ int year,month=0,day,flag=0; //flag用于更换大小月 printf("按照格式输原创 2020-12-13 09:20:09 · 144 阅读 · 0 评论 -
插入排序 2020-12-13
插入排序1.问题简介 将数字依照大小排列,通过构建有序序列,对于未排序数据,在已排序序列中从后向前扫描,找到相应位置并插入。2. 算法描述 从第一个元素开始,并取下一个元素,若大于则将该元素移到下一位置,反复重复,直至排序完成。3.输出结果 1 3 4 4 5 5 5 6 23 35 54 67 76#include<stdio.h>int main() { int i, j, tmp,size=13,arr[]={1,23,4,3,35,4,54,原创 2020-12-13 00:44:37 · 63 阅读 · 0 评论 -
输出“完数” 2020-12-13
输出“完数”1.问题简介 ”完数“指的是一个数恰好等于它的因子之和的数即为“完数”。2.算法分析 将有一个数通过循环寻找因数,每找到一个因数则加到总和,最后判断总和是否等于原来的数。3.输入格式 整数4.输入样例 65.输出结果 6是一个完数,因子是:6=1+2+3 共找到1个完数。#include<stdio.h>int main(){ int p[128]; int i,num,count,s,c = 0; int MaxNum原创 2020-12-13 00:36:54 · 450 阅读 · 0 评论 -
九九乘法口诀表2020-12-13
九九乘法口诀表1.问题描述 用于输出乘法口诀表2.算法分析 驯化嵌套即可,该输出项目规则较强,注意对齐即可。3.输出结果 11=1 21=2 22=4 31=3 32=6 33=9 41=4 42=8 43=12 44=16 51=5 52=10 53=15 54=20 55=25 61=6 62=12 63=18 64=24 65=30 66=36 71=7 72=14 73=21 74=28 75=35 7原创 2020-12-13 00:27:43 · 129 阅读 · 0 评论 -
C语言冒泡排序 2020-12-13
C语言冒泡排序1.问题简介 冒泡排序是一种将一组数据按照大小规律重新排列的算法,其简单易上手但计算量往往较大。2.算法分析 相邻数据依次比较,将较大数防止后方,最后将经过多次循环将数字从大到小排列,注:每次排列时将标志符改为1,以继续循环。3.输出结果 324 52 34 33 32 23 12 5 4 4 4# include <stdio.h>int main(void){ int a[] = {12,23,4,324,34,33,52,32,4,5,4};原创 2020-12-13 00:23:23 · 95 阅读 · 0 评论 -
蓝桥杯ACM简单题-阶乘
蓝桥杯ACM简单题-阶乘1.问题描述 用户输入一个数据,程序输出其阶乘结果。2.算法分析 利用循环将数据依次乘以原数据,需要注意长度问题。3.输入格式 输入包含一个正整数n,n<=1000。4.输出格式 输出n!的准确值。5.样例输入 106.样例输出 4037913#include <stdio.h>int main(){ int s=0; int s1=1; int count,flag; scanf("%u",&flag原创 2020-12-12 23:29:55 · 132 阅读 · 0 评论 -
蓝桥杯ACM简单题-月份转天数
蓝桥杯ACM简单题-月份转天数1.问题描述: 用户输入一个日期,程序将其转化成天数。2.算法分析: 将月份分离出来使用事先准备好的switch语句转化成日期再判断是否为闰年,若为则天数加1,最后将日期加入。3.输入格式 输入包含一个日期。4.输出格式 年/月/日5.样例输入 2020/12/16.样例输出 336#include<stdio.h>int main(){ int year,month,day,number; //定义年用于判断平闰原创 2020-12-12 23:21:25 · 306 阅读 · 0 评论 -
蓝桥杯ACM简单题-寻找素数
蓝桥简题-寻找素数1.问题描述 寻找500-1000中的素数。2.算法分析 所谓素数即为仅能被1和本身整除的数,故我们仅需将从3(凡是偶数均不为素数,故排除2)开始的所有数进行测试即可,详细参考代码中注释。3.输出格式 500-1000之间共有n个素数4.样例输出 500-1000之间共有73个素数#include <stdio.h> #include <math.h>main(){ int i,j,count; count=0; for(i=50原创 2020-12-12 23:08:43 · 246 阅读 · 0 评论