![](https://img-blog.csdnimg.cn/20201014180756930.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
算法入门
sauTCc
存在即合理
展开
-
算法笔记入门(算法模拟进制转换)——问题 B: 数制转换
题目描述 求任意两个不同进制非负整数的转换(2进制~16进制),所给整数在long所能表达的范围之内。 不同进制的表示符号为(0,1,…,9,a,b,…,f)或者(0,1,…,9,A,B,…,F)。 输入 输入只有一行,包含三个整数a,n,b。a表示其后的n 是a进制整数,b表示欲将a进制整数n转换成b进制整数。a,b是十进制整数,2 =< a,b <= 16。 输出 可能有多组测试数据,对于每组数据,输出包含一行,该行有一个整数为转换后的b进制数。输出时字母符号全部用大写表示,即(0,1,…,原创 2021-09-20 22:52:37 · 147 阅读 · 0 评论 -
算法笔记入门(算法模拟进制转换)——问题 A: 又一版 A+B
题目描述 输入两个不超过整型定义的非负10进制整数A和B(<=231-1),输出A+B的m (1 < m <10)进制数。 输入 输入格式:测试输入包含若干测试用例。每个测试用例占一行,给出m和A,B的值。 当m为0时输入结束。 输出 输出格式:每个测试用例的输出占一行,输出A+B的m进制数。 样例输入 2 4 5 8 123 456 0 样例输出 1001 1103 提示 注意输入的两个数相加后的结果可能会超过int和long的范围。 思路分析:两数之后可能会超过int和long的范围,原创 2021-09-20 22:38:48 · 136 阅读 · 0 评论 -
算法笔记入门(进制转换专题篇)—— 笔记总结
进制转换其实主要是两个问题,十进制数转换为Q进制数,Q进制数转换为十进制数,当然也有P进制数转换为Q进制数。 1.将P进制数转换为十进制数y在这里插入代码片 思路很简单,看代码很容易就明白了 int y=0,product=1; while(x!=0){ y = y + (x%10)*product; x = x/10; product = product*P; } 2.将十进制数转换为Q进制数 这里采用的是”除基取余法“。所谓的基,是值要转换的进制Q,因此除基取余法的意思就是每次将十进制数除以.原创 2021-09-20 22:24:17 · 127 阅读 · 0 评论 -
算法笔记入门(算法模拟日期处理)——问题 E: 日期累加
题目描述 设计一个程序能计算一个日期加上若干天后是什么日期 输入 输入第一行表示样例个数m,接下来m行每行四个整数分别表示年月日和累加的天数。 输出 输出m行,每行按yyyy-mm-dd的个数输出。 样例输入 1 2008 2 3 100 样例输出 2008-05-13 思路分析:统计日数加之后的日期,然后进行累加判断即可。 #include <cstdio> bool isLeap(int year) { return (year%4==0 && year%100!=0原创 2021-09-18 17:30:52 · 69 阅读 · 0 评论 -
算法笔记入门(算法模拟日期处理)——问题 D: 日期类
题目描述 编写一个日期类,要求按xxxx-xx-xx 的格式输出日期,实现加一天的操作。 输入 输入第一行表示测试用例的个数m,接下来m行每行有3个用空格隔开的整数,分别表示年月日。测试数据不会有闰年。 输出 输出m行。按xxxx-xx-xx的格式输出,表示输入日期的后一天的日期。 样例输入 2 1999 10 20 2001 1 31 样例输出 1999-10-21 2001-02-01 思路分析:区分开平年闰年,再对天数进行累加,计算日期 #include <cstdio> bool isL原创 2021-09-18 17:25:36 · 90 阅读 · 0 评论 -
算法笔记入门(算法模拟日期处理)——问题 C: 打印日期
题目描述 给出年分m和一年中的第n天,算出第n天是几月几号。 输入 输入包括两个整数y(1<=y<=3000),n(1<=n<=366)。 样例输入 2013 60 2012 300 2011 350 2000 211 样例输出 2013-03-01 2012-10-26 2011-12-16 2000-07-29 思路分析:在日期处理中因为存在闰年平年之分,所以有二月的差异,需要判断是否是闰年再进行年月日的判断处理 #include <cstdio> bool isLe原创 2021-09-18 17:13:32 · 78 阅读 · 0 评论 -
算法笔记入门(算法模拟日期处理)——问题 B: Day of Week
题目描述 We now use the Gregorian style of dating in Russia. The leap years are years with number divisible by 4 but not divisible by 100, or divisible by 400. For example, years 2004, 2180 and 2400 are leap. Years 2004, 2181 and 2300 are not leap. Your task i原创 2021-09-18 17:03:10 · 151 阅读 · 0 评论 -
算法笔记入门(算法模拟日期处理)——问题 A: 日期差值
题目描述 有两个日期,求两个日期之间的天数,如果两个日期是连续的我们规定他们之间的天数为两天。 输入 有多组数据,每组数据有两行,分别表示两个日期,形式为YYYYMMDD 输出 每组数据输出一行,即日期差值 样例输入 20130101 20130105 样例输出 5 思路分析:本题是计算两个日期之间间隔天数的计算,所以需要判断是平年闰年,然后再进行计算,另外两个相邻日期之间需要注意的是算两天时间。 #include <cstdio> int month[13][2] = {{0,0},{31,3原创 2021-09-18 16:34:39 · 170 阅读 · 0 评论 -
算法笔记入门(算法模拟图像)——问题 D: 沙漏图形 tri2str [1*+]
题目描述 问题:输入n,输出正倒n层星号三角形。首行顶格,星号间有一空格,效果见样例 输入样例: 3 输出样例: * * * * * * * * * * * 数据规模 1<= n <=50 思路分析:先输出倒三角形,再输出剩余部分即可。 #include <cstdio> #include <cmath> int main() { int n; scanf("%d",&n); int t=n; int m;原创 2021-09-15 22:26:19 · 129 阅读 · 0 评论 -
算法笔记入门(算法入门图像)——问题 C: 等腰梯形
请输入高度h,输入一个高为h,上底边长为h 的等腰梯形(例如h=4,图形如下)。 **** ****** ******** ********** 输入 输入第一行表示样例数m,接下来m行每行一个整数h,h不超过10。 输出 对应于m个case输出要求的等腰梯形。 样例输入 1 4 样例输出 **** ****** ******** ********* 思路分析:依次输出控制空格和*的输出即可 #include <bits/stdc++.h> int main()原创 2021-09-15 22:24:45 · 168 阅读 · 0 评论 -
算法笔记入门(算法模拟图像)——问题 B: Hello World for U
题目描述 Given any string of N (>=5) characters, you are asked to form the characters into the shape of U. For example, “helloworld” can be printed as: h d e l l r lowo That is, the characters must be printed in the original order, starting top-down from原创 2021-09-15 22:16:13 · 60 阅读 · 0 评论 -
算法笔记入门(算法模拟图形题)——问题 A: 输出梯形
题目描述 输入一个高度h,输出一个高为h,上底边为h的梯形。 输入 一个整数h(1<=h<=1000)。 输出 h所对应的梯形。 样例输入 3 样例输出 *** ***** ******* 思路分析:依次按行输出即可。 #include <bits/stdc++.h> int main() { int h; while(scanf("%d",&h)!=EOF){ int y=h; int t=(h-1)*2;原创 2021-09-15 21:32:00 · 85 阅读 · 0 评论 -
算法笔记入门(入门模拟查找篇)——问题 E: 学生查询
题目描述 输入n个学生的信息,每行包括学号、姓名、性别和年龄,每一个属性使用空格分开。最后再输入一学号,将该学号对应的学生信息输出。 输入 测试数据有多组,第一行为样例数m。对于每个样例,第一行为学生人数n(n不超过20),加下来n行每行4个整数分别表示学号、姓名、性别和年龄,最后一行表示查询的学号。 输出 输出m行,每行表示查询的学生信息,格式参见样例。 样例输入 1 4 1 李江 男 21 2 刘唐 男 23 3 张军 男 19 4 王娜 女 19 2 样例输出 2 刘唐 男 23 思路分析:循环遍历查原创 2021-09-15 10:50:36 · 81 阅读 · 0 评论 -
算法笔记入门(入门查找模拟篇)——问题 D: 查找
题目描述 输入数组长度 n 输入数组 a[1…n] 输入查找个数m 输入查找数字b[1…m] 输出 YES or NO 查找有则YES 否则NO 。 输入 输入有多组数据。 每组输入n,然后输入n个整数,再输入m,然后再输入m个整数(1<=m<=n<=100)。 输出 如果在n个数组中输出YES否则输出NO。 样例输入 6 3 2 5 4 7 8 2 3 6 样例输出 YES NO 思路分析:遍历查找即可,无坑 #include <bits/stdc++.h>原创 2021-09-15 10:47:06 · 60 阅读 · 0 评论 -
算法笔记入门(入门模拟查找篇)——问题 C: 查找学生信息
题目描述 输入N个学生的信息,然后进行查询。 输入 输入的第一行为N,即学生的个数(N<=1000) 接下来的N行包括N个学生的信息,信息格式如下: 01 李江 男 21 02 刘唐 男 23 03 张军 男 19 04 王娜 女 19 然后输入一个M(M<=10000),接下来会有M行,代表M次查询,每行输入一个学号,格式如下: 02 03 01 04 输出 输出M行,每行包括一个对应于查询的学生的信息。 如果没有对应的学生信息,则输出“No Answer!” 样例输入 5 001 张三 男原创 2021-09-15 10:44:05 · 81 阅读 · 0 评论 -
算法笔记入门(入门模拟查找篇)——问题 B: 找x
题目描述 输入一个数n,然后输入n个数值各不相同,再输入一个值x,输出这个值在这个数组中的下标(从0开始,若不在数组中则输出-1)。 输入 测试数据有多组,输入n(1<=n<=200),接着输入n个数,然后输入x。 输出 对于每组输入,请输出结果。 样例输入 4 1 2 3 4 3 样例输出 2 思路分析:本题很简单,直接循环遍历查找即可,测试数据有多组。 #include <bits/stdc++.h> int main() { int n; while(scanf原创 2021-09-15 10:40:59 · 76 阅读 · 0 评论 -
算法笔记入门(入门模拟查找篇)——问题 A: 统计同成绩学生人数
题目描述 读入N名学生的成绩,将获得某一给定分数的学生人数输出。 输入 测试输入包含若干测试用例,每个测试用例的格式为 第1行:N 第2行:N名学生的成绩,相邻两数字用一个空格间隔。 第3行:给定分数 当读到N=0时输入结束。其中N不超过1000,成绩分数为(包含)0到100之间的一个整数。 输出 对每个测试用例,将获得给定分数的学生人数输出。 样例输入 4 70 80 90 100 80 3 65 75 85 55 5 60 90 90 90 85 90 0 样例输出 Copy 1 0 3 思路分析,本题原创 2021-09-15 10:37:15 · 82 阅读 · 0 评论 -
算法笔记入门——问题 I: 锤子剪刀布 (20)
题目描述 大家应该都会玩“锤子剪刀布”的游戏:两人同时给出手势,胜负规则如图所示:现给出两人的交锋记录,请统计双方的胜、平、负次数,并且给出双方分别出什么手势的胜算最大。 输入 输入第1行给出正整数N(<=105),即双方交锋的次数。随后N行,每行给出一次交锋的信息,即甲、乙双方同时给出的的手势。C代表“锤子”、J代表“剪刀”、B代表“布”,第1个字母代表甲方,第2个代表乙方,中间有1个空格。 输出 输出第1、2行分别给出甲、乙的胜、平、负次数,数字间以1个空格分隔。第3行给出两个字母,分别代表甲、乙原创 2021-09-14 21:32:15 · 967 阅读 · 0 评论 -
算法笔记入门——问题 H: 部分A+B (15)
题目描述 正整数A的“DA(为1位整数)部分”定义为由A中所有DA组成的新整数PA。例如:给定A = 3862767,DA = 6,则A的“6部分”PA是66,因为A中有2个6。 现给定A、DA、B、DB,请编写程序计算PA + PB。 输入 输入在一行中依次给出A、DA、B、DB,中间以空格分隔,其中0 < A, B < 1010。 输出 在一行中输出PA + PB的值。 样例输入 3862767 6 13530293 3 3862767 1 13530293 8 样例输出 399 0 思路分原创 2021-09-14 21:27:08 · 87 阅读 · 0 评论 -
算法笔记入门——问题 G: 数字分类 (20)
题目描述 给定一系列正整数,请按要求对数字进行分类,并输出以下5个数字: A1 = 能被5整除的数字中所有偶数的和; A2 = 将被5除后余1的数字按给出顺序进行交错求和,即计算n1-n2+n3-n4…; A3 = 被5除后余2的数字的个数; A4 = 被5除后余3的数字的平均数,精确到小数点后1位; A5 = 被5除后余4的数字中最大数字。 输入 每个输入包含1个测试用例。每个测试用例先给出一个不超过1000的正整数N,随后给出N个不超过1000的待分类的正整数。数字间以空格分隔。 输出 对给定的N个正整原创 2021-09-14 21:22:39 · 73 阅读 · 0 评论 -
算法笔记入门——问题 F: A+B和C (15)
题目描述 给定区间[-231, 231]内的3个整数A、B和C,请判断A+B是否大于C。 输入 输入第1行给出正整数T(<=10),是测试用例的个数。随后给出T组测试用例,每组占一行,顺序给出A、B和C。整数间以空格分隔。 输出 对每组测试用例,在一行中输出“Case #X: true”如果A+B>C,否则输出“Case #X: false”,其中X是测试用例的编号(从1开始)。 样例输入 4 1 2 3 2 3 4 2147483647 0 2147483646 0 -2147483648 -原创 2021-09-14 21:18:25 · 200 阅读 · 0 评论 -
算法笔记入门——问题 E: Shortest Distance (20)
题目描述 The task is really simple: given N exits on a highway which forms a simple cycle, you are supposed to tell the shortest distance between any pair of exits. 输入 Each input file contains one test case. For each case, the first line contains an integer N原创 2021-09-14 21:14:46 · 67 阅读 · 0 评论 -
算法笔记入门——问题 D: 比较奇偶数个数
题目描述 第一行输入一个数,为n,第二行输入n个数,这n个数中,如果偶数比奇数多,输出NO,否则输出YES。 输入 输入有多组数据。 每组输入n,然后输入n个整数(1<=n<=1000)。 输出 如果偶数比奇数多,输出NO,否则输出YES。 样例输入 1 67 7 0 69 24 78 58 62 64 样例输出 YES NO 思路分析:本题为简单题,直接看代码即可,无坑。 #include <bits/stdc++.h> int panduan(int n){ if(原创 2021-09-14 20:10:40 · 85 阅读 · 0 评论 -
算法笔记入门——问题C:特殊乘法
题目描述 写个算法,对2个小于1000000000的输入,求结果。特殊乘法举例:123 * 45 = 14 +15 +24 +25 +34+35 输入 两个小于1000000000的数 输出 输入可能有多组数据,对于每一组数据,输出Input中的两个数按照题目要求的方法进行运算后得到的结果。 样例输入 24 65 42 66666 3 67 样例输出 66 180 39 本题思路分析:本题思路相对简单,先将数字存储为字符串类型,唯一的技巧就是在读取字符转为相应的整数类型直接减去四十八再进行计算就可以了,下面原创 2021-09-14 20:03:49 · 200 阅读 · 0 评论 -
算法笔记入门——问题 B: A+B
题目描述 给定两个整数A和B,其表示形式是:从个位开始,每三位数用逗号","隔开。 现在请计算A+B的结果,并以正常形式输出 输入 输入包含多组数据数据,每组数据占一行,由两个整数A和B组成 (-10^9 < A,B < 10^9)。 输出 请计算A+B的结果,并以正常形式输出,每组数据占一行。 样例输入 -234,567,890 123,456,789 1,234 2,345,678 样例输出 -111111101 2346912 题目分析: 改题目其实就是两数相加,只是本题输入含有原创 2021-09-12 11:36:17 · 228 阅读 · 0 评论 -
算法笔记入门——问题 A: 剩下的树
题目描述1:有一个长度为整数L(1<=L<=10000)的马路,可以想象成数轴上长度为L的一个线段,起点是坐标原点,在每个整数坐标点有一棵树,即在0,1,2,…,L共L+1个位置上有L+1棵树。 现在要移走一些树,移走的树的区间用一对数字表示, 如 100 200表示移走从100到200之间(包括端点)所有的树。 可能有M(1<=M<=100)个区间,区间之间可能有重叠。 现在要求移走所有区间的树之后剩下的树的个数。 输入:两个整数L(1<=L<=10000)和M(1&原创 2021-09-12 11:14:42 · 169 阅读 · 0 评论