![](https://img-blog.csdnimg.cn/20201014180756918.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
C
永不放弃的Tom
这个作者很懒,什么都没留下…
展开
-
04-树4 是否同一棵二叉搜索树 (25 分)
04-树4 是否同一棵二叉搜索树 (25 分) 给定一个插入序列就可以唯一确定一棵二叉搜索树。然而,一棵给定的二叉搜索树却可以由多种不同的插入序列得到。例如分别按照序列{2, 1, 3}和{2, 3, 1}插入初始为空的二叉搜索树,都得到一样的结果。于是对于输入的各种插入序列,你需要判断它们是否能生成一样的二叉搜索树。 输入格式: 输入包含若干组测试数据。每组数据的第1行给出两个正整数N (≤10)和L,分别是每个序列插入元素的个数和需要检查的序列个数。第2行给出N个以空格分隔的正整数,作为初始插入序列。最原创 2021-05-27 23:24:55 · 249 阅读 · 2 评论 -
习题6-7 简单计算器 (20 分)
题目 习题6-7 简单计算器 (20 分) 模拟简单运算器的工作。假设计算器只能进行加减乘除运算,运算数和结果都是整数,四种运算符的优先级相同,按从左到右的顺序计算。 输入格式: 输入在一行中给出一个四则运算算式,没有空格,且至少有一个操作数。遇等号”=”说明输入结束。 输出格式: 在一行中输出算式的运算结果,或者如果除法分母为0或有非法运算符,则输出错误信息“ERROR”。 输入样例: 1+2*10-10/2= 输出样例: 10 代码: #include<stdio.h> #include原创 2021-05-22 00:16:30 · 429 阅读 · 0 评论 -
03-树2 List Leaves (25 分)
题目 题目背景: Given a tree, you are supposed to list all the leaves in the order of top down, and left to right. Input Specification: Each input file contains one test case. For each case, the first line gives a positive integer N (≤10) which is the total numbe原创 2021-05-20 13:22:06 · 87 阅读 · 2 评论 -
习题4-11 兔子繁衍问题 (15 分)
一对兔子,从出生后第3个月起每个月都生一对兔子。小兔子长到第3个月后每个月又生一对兔子。假如兔子都不死,请问第1个月出生的一对兔子,至少需要繁衍到第几个月时兔子总数才可以达到N对? 输入格式: 输入在一行中给出一个不超过10000的正整数N。 输出格式: 在一行中输出兔子总数达到N最少需要的月数。 输入样例: 30 输出样例: 9 解题思路: 兔子的总数是上个月+ 上上个月的和 #include<stdio.h> #include<stdlib.h> /*原创 2021-05-16 23:28:01 · 176 阅读 · 0 评论 -
习题4-10 猴子吃桃问题 (15 分)
题目 一只猴子第一天摘下若干个桃子,当即吃了一半,还不过瘾,又多吃了一个;第二天早上又将剩下的桃子吃掉一半,又多吃了一个。以后每天早上都吃了前一天剩下的一半加一个。到第N天早上想再吃时,见只剩下一个桃子了。问:第一天共摘了多少个桃子? 输入格式: 输入在一行中给出正整数N(1<N≤10)。 输出格式: 在一行中输出第一天共摘了多少个桃子。 输入样例: 3 输出样例: 10 解题思路: 我们知道了 当第N天 时候就发现只剩1个 那么N-1天的时间把N个桃子吃剩了一个 我们根据天数反推桃子的数量 x原创 2021-05-13 20:22:46 · 283 阅读 · 0 评论 -
习题4-9 打印菱形图案 (15 分)
题目 解题思路: 假设 x是菱形中间的那一层 x = n/2 +1; 每一层左边的空格个数与他在层数和 x层有联系 设 当层数 i=1; x=4 从左到右 需要输出 x-i * 2个空格 这样能恰好到指定位置输出 一直对 第x层 把x层输出完后 就到 x-1层 这时候处理完了 从上至下 第一层-x层 我们接下来处理下半部分 使i=1 i<x; i++ 次循环; 在通过每层 用i*2在-1 使其层数从x-1 到0; 代码 #include<stdio.h> #include<原创 2021-05-13 20:04:02 · 175 阅读 · 0 评论 -
习题4-7 最大公约数和最小公倍数 (15 分)
题目 输入格式: 输入在一行中给出两个正整数M和N(≤1000)。 输出格式: 在一行中顺序输出M和N的最大公约数和最小公倍数,两数字间以1空格分隔。 输入样例: 511 292 输出样例: 73 2044 思路: 根据欧几里得算法 我们得知a b 两树之间的最大公因数 通过最大公因数我们能求出 最小公倍数 公式 result = a*b / 最大公因数 代码 #include<stdio.h> #include<stdlib.h> int gcd(int a, int b)原创 2021-05-07 20:58:12 · 135 阅读 · 0 评论 -
习题4-6 水仙花数 (20 分)
题目 输入格式: 输入在一行中给出一个正整数N(3≤N≤7)。 输出格式: 按递增顺序输出所有N位水仙花数,每个数字占一行。 输入样例: 3 输出样例: 153 370 371 407 解题思路: IPO模型 1.输入(Input) 2.处理(Process) 3.输出(Out) 求N的位数 根据N 我们假设位数, 例如 N == 3 我们从100求999中的水仙花数 如果 N == 4 我们从1000-9999 中 求水仙花数 锁定N的位数 从中求水仙花数, 假设 temp = 100 ,我们利原创 2021-05-05 17:46:50 · 438 阅读 · 0 评论 -
习题4-5 换硬币 (20 分)
题目 将一笔零钱换成5分、2分和1分的硬币,要求每种硬币至少有一枚,有几种不同的换法? 输入格式: 输入在一行中给出待换的零钱数额x∈(8,100)。 输出格式: 要求按5分、2分和1分硬币的数量依次从大到小的顺序,输出各种换法。每行输出一种换法,格式为:“fen5:5分硬币数量, fen2:2分硬币数量, fen1:1分硬币数量, total:硬币 总数量”。最后一行输出“count = 换法个数”。 输入样例: 13 输出样例: fen5:2, fen2:1, fen1:1, total:4 fen5原创 2021-05-03 13:19:37 · 361 阅读 · 3 评论 -
习题4-4 特殊a串数列求和 (20 分)
题目 题目格式: 解题思路: 当n = 1 a = 2 注意 result = a 当n = 2 a = 22 result = a * 10 + result 当n = 3 a = 222 result = a*100 + result 也可以换种解题方法 当n = 1 a = 2 sum += a result = a 当n = 2 a = 22 sum+= result * 10 + a 当n = 3 a = 222 sum+= result * 1原创 2021-05-02 23:51:33 · 151 阅读 · 0 评论 -
习题4-1 求奇数和 (15 分)
题目 #include<stdio.h> #include<stdlib.h> // https://pintia.cn/problem-sets/12/problems/287 // 输入在一行中给出一系列正整数,其间以空格分隔。当读到零或负整数时,表示输入结束,该数字不要处理。 // 在一行中输出正整数序列中奇数的和。 // 1. 逐步读入 遇到负数或者0结束 遇到奇数++ 否则什么都不做 读下一个 int OddTotal(); int main() { int原创 2021-04-29 20:40:00 · 207 阅读 · 0 评论 -
2020年第十届C/C++ B组第二场蓝桥杯省赛真题 第二题:既约分数
题目:既约分数 题目描述 如果一个分数的分子和分母的最大公约数是1,这个分数称为既约分数。例如,3/4,5/2,1/8,7/1都是既约分数。请问,有多少个既约分数,分子和分母都是1到2020之间的整数(包括1和2020) 解题思路 我们通过辗转相除法(欧几里得算法) 求得最大公约数 在通过判断最大公约数是为1 通过枚举来得到答案 #include<stdio.h> /* 试题B :既约分数 如果一个分数的分子和分母的最大公约数是1,这个分数称为既约分数原创 2021-02-25 18:47:23 · 2626 阅读 · 9 评论