![](https://img-blog.csdnimg.cn/20201014180756919.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
各地题目
seineo
CS路上不停歇
展开
-
分鱼(递归)
A、B、C、D、E 五人在某天夜里合伙去捕鱼,到第二天凌晨时都疲惫不堪,于是各自找地方去睡 觉。日上三竿,A 第一个醒来,他将鱼分为五份,把多余的一条鱼扔掉,拿走自己的一份;B 第二个醒 来,也将鱼分为五份,把多余的一条鱼扔掉,拿走自己的一份;C、D、E 依次醒来,也按同样的方法 拿鱼。试编程计算他们至少捕了多少条鱼#include<iostream>using namespa...原创 2019-04-13 09:44:50 · 1276 阅读 · 0 评论 -
求公共前缀(水)、URL(水)
求公共前缀:编写程序测试一个函数,该函数查找两个单词最长的共同前缀(例如,“global”和“glossary”最长的 共同前缀是“glo”,“department”和“depart”最长的共同前缀是“depart”,“glove”和“dove”最长的共同前缀 是空字符串)。#include<iostream>#include<string>#include&l...原创 2019-04-15 14:01:56 · 409 阅读 · 0 评论 -
雇佣兵(程序设计与算法(一))
描述雇佣兵的体力最大值为M,初始体力值为0、战斗力为N、拥有X个能量元素。当雇佣兵的体力值恰好为M时,才可以参加一个为期M天的战斗期,战斗期结束体力值将为0。在同一个战斗期内,雇佣兵每连续战斗n天,战斗力就会上升1点,n为当前战斗期开始时的战斗力。一个战斗期结束后,雇佣兵需要用若干个能量元素使其体力恢复到最大值M,从而参加下一个战斗期。每个能量元素恢复的体力值不超过当前的战斗力。每个能...原创 2019-02-05 20:36:26 · 2002 阅读 · 0 评论 -
筛法求素数
一般我们判断素数是从2到√n逐个判断是否可以被n整除,存在被整除的数说明n不是素数。但判断大数时,筛法求素数更为快速。代码如下:#include<iostream>using namespace std;int main(){ const int maxn = 100000; //用筛法求100000内的素数 int isPrime[maxn + 10]...原创 2019-02-03 17:27:26 · 129 阅读 · 0 评论 -
输入年月日判断星期几
题目:已知2012年1月25日为星期三,输入“年 月 日”,输出该日期为星期几(星期天输出0)思路:2012年1月22日为星期天,算出输入的日期距离此天的天数x,x%7即为所求代码如下:#include<iostream>using namespace std;int main(){ int month_days[13] = { -1,31,28,31,30,31...原创 2019-02-03 18:15:15 · 6131 阅读 · 4 评论 -
求特殊自然数(程序设计与算法(一))
描述一个十进制自然数,它的七进制与九进制表示都是三位数,且七进制与九进制的三位数码表示顺序正好相反。编程求此自然数,并输出显示。输入无。输出三行:第一行是此自然数的十进制表示;第一行是此自然数的七进制表示;第一行是此自然数的九进制表示。样例输入(无)样例输出(不提供)方法一(我的):#include<iostream>#incl...原创 2019-02-05 18:18:44 · 933 阅读 · 0 评论 -
病人排队 (程序设计与算法(一))
描述病人登记看病,编写一个程序,将登记的病人按照以下原则排出看病的先后顺序:1.老年人(年龄 >= 60岁)比非老年人优先看病。2. 老年人按年龄从大到小的顺序看病,年龄相同的按登记的先后顺序排序。3.非老年人按登记的先后顺序看病。输入第1行,输入一个小于100的正整数,表示病人的个数;后面按照病人登记的先后顺序,每行输入一个病人的信息,包括:一个长度小于10的...原创 2019-02-12 11:55:57 · 3265 阅读 · 3 评论 -
字符串——大数相加
题目:定义两个一维字符数组A[20]、B[20],表示两个大正整数,定义C[50]表示A+B的结果。输入大数A和B的位数m、n(3≤m≤n≤20),以字符串形式分别输入m位大数A和n位大数B,完成A+B的计算,并以字符型数据存储计算结果。因为是“大数”,所以用int、long、long long都不行,需运用字符串来解决。代码如下:#include&amp;lt;stdio.h&amp;gt;int mai...原创 2018-12-26 20:13:56 · 3838 阅读 · 0 评论 -
最长最短单词(程序设计与算法(一))
描述输入1行句子(不多于200个单词,每个单词长度不超过100),只包含字母、空格和逗号。单词由至少一个连续的字母构成,空格和逗号都是单词间的间隔。试输出第1个最长的单词和第1个最短单词。输入一行句子。输出两行输出:第1行,第一个最长的单词。第2行,第一个最短的单词。#include<iostream>#include<string>...原创 2019-02-08 20:15:51 · 1867 阅读 · 0 评论 -
校门外的树(程序设计与算法(一))
描述某校大门外长度为L的马路上有一排树,每两棵相邻的树之间的间隔都是1米。我们可以把马路看成一个数轴,马路的一端在数轴0的位置,另一端在L的位置;数轴上的每个整数点,即0,1,2,……,L,都种有一棵树。由于马路上有一些区域要用来建地铁。这些区域用它们在数轴上的起始点和终止点表示。已知任一区域的起始点和终止点的坐标都是整数,区域之间可能有重合的部分。现在要把这些区域中的树(包括区域端点处的...原创 2019-02-06 10:47:38 · 781 阅读 · 0 评论 -
1160出圈
设有n个人围坐一圈并按顺时针方向从1到n编号,从第1个人开始进行1到m的报数,报数到第个m人,此人出圈,再从他的下一个人重新开始1到m的报数,如此进行下去直到所剩下一人为止。输入输入多行,每行2个数,分别表示n和m.输出计算每一行中最后剩下这个人的编号.#include<iostream>#include<vector>using namespac...原创 2019-03-22 19:11:22 · 115 阅读 · 0 评论 -
Lintcode位运算实现加法
其实我一开始是真不太会,还是看了大神的博客https://blog.csdn.net/qq_28444079/article/details/76849990才明白原理,感谢。原理:二进制中个位数的加法可以通过x^y操作实现,而进位则需(x&y)<<1实现,此时进位后的值加上个位数加起来的值即为所求,那么也就是((x&y)<<1)^(x^y)我的循环...原创 2019-04-14 21:59:24 · 172 阅读 · 0 评论 -
大数阶乘
题目:请编写程序计算 n!并输出,要求输入 n 的值且应满足 n<=1000这道题我尝试用vector做了一下,但通过计算运行时间发现,用vector动态添加元素的效率还是不如直接用很大的内置数组(如a[1000])。当然若都要动态分配还是vector更快。#include<iostream>#include<vector>#include<cti...原创 2019-04-13 12:02:45 · 140 阅读 · 0 评论 -
对称数(string+转二进制)
将一个数的数码倒过来所得到的新数叫做原数的反序数,如果一个数等于它的反序数,则称它为 对称数。例如,12321、3、151、44、6776 等都是对称数。 编写一个函数 f,判断十进制正整数 k 是否是对称数。要求:在 main 函数中输入一个正整数 k 并调用该函数 f,若 k 是对称数,再判断 k 的二进制形式 是否也是对称数。若 k 及其二进制都是对称数,则输出 k 的十进制值及二进制值...原创 2019-04-12 16:56:46 · 1106 阅读 · 0 评论 -
金字塔型杨辉三角、奇数阶魔方阵
其实这两道题蛮类似的,都是利用二维数组+循环即可。杨辉三角:编写一个程序,输入一个正整数 n(不超过 15),输出 n 行的金字塔型杨辉三角形。#include<iostream>using namespace std;int a[20][20];int main(){ int n; cin >> n; for (int i = 1; i <...原创 2019-04-15 14:27:04 · 433 阅读 · 0 评论