c++
vdbsiu
la lala la lala
展开
-
小学期 作业训练四 编程题 8. 最少钱币数【动态规划】
最少钱币数【问题描述】这是一个古老而又经典的问题。用给定的几种钱币凑成某个钱数,一般而言有多种方式。例如:给定了 6 种钱币面值为 2、5、10、20、50、100,用来凑 15 元,可以用 5 个 2 元、1个 5 元,或者 3 个 5 元,或者 1 个 5 元、1个 10 元,等等。显然,最少需要 2 个钱币才能凑成 15 元。你的任务就是,给定若干个互不相同的钱币面值,编程计算,最少需要多少个钱币才能凑成某个给出的钱数。【输入形式】输入可以有多个测试用例。每个测试用例的第一行是待凑的钱数值 .原创 2021-09-15 09:41:39 · 262 阅读 · 0 评论 -
作业训练三 编程题 2. 导弹防御系统 【动态规划】
【问题描述】某国为了防御敌国的导弹袭击,开发出一种导弹拦截系统。但是这种导弹拦截系统有一个缺陷:虽然它的第一发炮弹能够到达任意的高度,但是以后每一发炮弹都不能高于前一发的高度。某天,雷达捕捉到敌国的导弹来袭,并观测到导弹依次飞来的高度,请计算这套系统最多能拦截多少导弹。拦截来袭导弹时,必须按来袭导弹袭击的时间顺序,不允许先拦截后面的导弹,再拦截前面的导弹。【输入形式】每组输入有两行,第一行,输入雷达捕捉到的敌国导弹的数量k(k<=25),第二行,输入k个正整数,表示k枚导弹的高度,按来袭导弹原创 2021-09-06 09:12:41 · 322 阅读 · 0 评论 -
作业训练五 编程题 2. 0-1串
作业训练五 编程题 2. 0-1串【问题描述】对于一个包含 n 个整数元素的序列a1、a2、…、an,每个元素的值或者是0或者是1,选择两个下标i和j(1≤i≤j≤n),对于所有的此范围内的元素ak(i≤k≤j),执行操作ak =1- ak。选择合适的i和j,执行上述操作一次之后,可以得到的新序列中包含1的个数最多是多少?【输入形式】输入的第一行为一个整数 n(1≤ n ≤100),接来的一行为 n 个整数,每个整数或者是0或者是1。【输出形式】输出为一个整数,表示执行一次上述操作后可以获得的原创 2021-08-13 11:42:48 · 620 阅读 · 0 评论 -
作业训练三 编程题 1. 部分A+B
【训练三】1. 部分A+B【问题描述】正整数A的“DA(为1位整数)部分”定义为由A中所有DA组成的新整数PA。例如:给定A = 3862767,DA = 6,则A的“6部分”PA是66,因为A中有2个6;给定A = 3862767,DA = 1,则A的“1部分”PA是0,因为A中有0个1。现给定A、DA、B、DB,请编写程序计算PA + PB。【输入形式】输入在一行中依次给出A、DA、B、DB,中间以空格分隔,其中0 < A, B < 1010。【输出形式】在一行中输出PA +原创 2021-07-29 10:03:09 · 341 阅读 · 0 评论 -
实验六 指针 程序片段编程题 1. 数组奇偶排列
数组奇偶排列【问题描述】从键盘输入n个整数,将奇数调整到前半部分,将偶数调整到后半部分,并分别按从小到大的顺序排列后输出。【输入形式】输入为两行,第一行为一个整数n(0<n≤107),第二行为n个整数。【输出形式】输出为一行,为经过排列之后的n个整数。【样例输入】612 17 6 11 2 3【样例输出】3 11 17 2 6 12#include <iostream>void qsort(int arr[], int low, int high);原创 2021-01-02 10:34:46 · 3004 阅读 · 3 评论 -
【算法】快速排序
快排思想:1.随便找一个基准值key(一般是数组的第一个数)把比它小的数都放到前面,比它大的数都放到后面。2.得到key前后的两个小数组,对两个数组分别再次排序,重复1步骤。3.如此递归调用,直到排序完成。步骤1有很多可能的实现:1.把基准值前后的元素分别提取出来作为数组a,b,对a,b分别调用排序函数。c++可能得用到STL容器。容易理解但是空间占用偏大。2.通过数组内交换元素完成步骤一。(一种咸鱼看来极为魔幻的方法)。极为优秀但是我想不到啊。...原创 2021-01-01 20:47:29 · 113 阅读 · 0 评论 -
实验七字符串 3.小希练打字
小希练打字【问题描述】小希打字太慢了,因此他在苦练打字技巧。他用了一个教学 App,可以一个个显示自己打出来的英文单词。当小希输入一个词时,他需要花0.2 秒输入第一个字母。而对于接下来的每个字母,如果在标 准指法下和前一个字母使用同侧手输入,则需要 0.4 秒;否则只需 0.2 秒。输入一个词所需的时间 为输入每个字母所需时间之和。不过,如果小希之前练过这个词,那么所需的时间可以降为初次 输入时的一半。小希输入的内容只包含26个英文字符(区分大小写),字符要求按照标准指法规定输入,其中"qwe.原创 2020-12-31 10:02:20 · 534 阅读 · 0 评论 -
实验十 文件读写 1. 学生成绩管理(二进制文件读写)
学生成绩管理(二进制文件读写)【问题描述】在以下问题中,定义学生的结构体student,录入学生信息,并存入到二进制文件grade.bin中,要求存入的是按照总成绩从大到小的顺序存储,数据可以分多次录入,每次录入前,都将显示文件中已有的数据,其具体形式如下:No: 3Name: HongSex: FAge: 9Scores: 123.000000 531241.000000No: 2Name: ZhangSex: FAge: 98Scores: 123.000000 434.0000原创 2020-12-30 16:45:44 · 3755 阅读 · 0 评论 -
实验十 文件读写 1. 文件排版(文本文件读写)
【问题描述】英文电影中参演人员名单一般以某种方式进行排版显示。给定一个未排版的文件listin.txt,该文件中每行参演人员名单由冒号ldquo:rdquo分隔成前后两部分,但格式杂乱无章,单词(由除空格和水平制表符之外的其它字符构成)之间可能有多个空格或水平制表符分隔。编写程序,要求将其按如下排版规则排版输出到另一个文件listout.txt中:1.从标准输入整数,作为排版后所有各行冒号在一行中的固定位置,输入的整数肯定大于排版后所有各行冒号前的字符个数,位置从1开始计数;2.冒号左边的单词串以行头原创 2020-12-29 08:38:59 · 2116 阅读 · 0 评论 -
实验五 数组 12. 岁月留痕
岁月留痕【问题描述】给定 n (1 ≤ n ≤ 24)个正整数a1、a2、…、an,请判断这 n 个数是否是连续 n 个月份的天数,这些月份可以跨年度。【输入形式】输入第一行为一个整数 n,第二行为n个正整数 a1、a2、…、an(28 ≤ ai ≤ 31)。【输出形式】输出Yes或No。【样例输入1】431 31 30 31【样例输出1】Yes【样例输入2】230 30【样例输出2】No【样例输入3】529 31 30 31 30【样例输出3】Yes【样..原创 2020-12-23 19:41:02 · 412 阅读 · 1 评论 -
约瑟夫环(vector类解决)
约瑟夫环(vector类解决)#include <iostream>#include <vector>using namespace std;int main() { vector<int> a; int n = 0, i = 0, k = 0, m = 0, p = 0; cin >> n >> k >> m; for (i = 0;i < n;i++) { //初始化 a.push_back(i + 1)原创 2020-12-19 09:27:33 · 977 阅读 · 2 评论