
算法设计与分析
算法设计与分析课后题
Rich_Z_b_f
广西民大研究生记录学习记录生活
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
折半查找法
折半查找法问题描述C++代码问题描述给定一个按值有序(升序)的N元整数数组A,采用折半查找法查找关键值k的位置,并给出查找的过程【输入形式】第一行:N第二行:A[0], A[1], ... , A[N-1]第三行:k【输出形式】第一行:k的位置(索引),若不存在则输出‘no’第二行:查找的过程,每一次折半的中间(mid)位置的值,以逗号分隔。例如,1 2 3 4 5的中间位置为3, 1 2 3 4的中间位置为2。【样例输入】样原创 2021-04-13 20:40:45 · 1216 阅读 · 0 评论 -
采用分治法求一个整数序列中的最大和最小元素
采用分治法求一个整数序列中的最大和最小元素问题描述C++代码问题描述设计一个算法,采用分治法求一个包含n个整数的序列中的最大和最小元素。【输入形式】第一行为序列中元素的个数n;第二行为n个整数,每个整数以空格隔开。【输出形式】n个整数中的最大和最小元素,中间用一个空格隔开。【样例输入1】54 3 1 2 5【样例输出1】5 1【样例说明1】5个数{ 4 3 1 2 5 }的最大值为5,最小值为1【样例输入2】1054 13 10 32 15 56 72 35原创 2021-04-13 20:35:28 · 6014 阅读 · 1 评论 -
逆序对
逆序对问题描述C++代码问题描述在一个排列中,如果一对数的前后位置与大小顺序相反,即前面的数大于后面的数,那么它们就称为一个逆序。一个排列中逆序的总数就称为这个排列的逆序数。如2 4 3 1中,2 1,4 3,4 1,3 1是逆序,逆序数是4。给出一个整数序列,求该序列的逆序数。【输入形式】第一行,一个数 n,表示序列中有 n个数。第二行 n 个数,表示给定的序列。序列中每个数字不超过 10的9次方。【输出形式】输出序列中逆序对的数目。【样例输入】65 4 2 6 3 1【原创 2021-04-13 20:33:14 · 205 阅读 · 0 评论 -
鸡兔只数
鸡兔只数问题描述C++代码问题描述【问题描述】有一群鸡和一群兔,它们的只数相同,它们的脚数都是三位数,且这两个三位数的各位数字只能是0、1、2、3、4、5。设计一个算法用穷举法求鸡和兔各有多少只?它们的脚数各是多少?【输入形式】无【输出形式】对于所有可能的解,每个解一行,分别是:鸡的数量 兔的数量 鸡脚数 兔脚数,中间用空格隔开C++代码蛮力法#include <iostream>#include <algorithm>using namespace s原创 2021-03-26 18:39:53 · 4944 阅读 · 2 评论 -
马虎的算式
马虎的算式问题描述C++代码问题描述【问题描述】小明是个急性子,上小学的时候经常把老师写在黑板上的题目抄错了。有一次,老师出的题目是:36 x 495 = ?他却给抄成了:396 x 45 = ?但结果却很戏剧性,他的答案竟然是对的!!因为 36 * 495 = 396 * 45 = 17820类似这样的巧合情况可能还有很多,比如:27 * 594 = 297 * 54假设 a b c d e 代表1~9不同的5个数字(注意是各不相同的数字,且不含0)能满足形如: ab * cde =原创 2021-03-26 18:37:57 · 225 阅读 · 0 评论 -
九个数字分别组成三个三位数,比例为1:2:3
九个数字分别组成三个三位数,比例为1:2:3问题描述C++代码问题描述【问题描述】将1到9这九个数字分别组成3个三位数a,b,c,每个数字恰好出现一次,要求a: b :c=1:2:3。【输入形式】无【输出形式】要求按照"a b c"的格式(三个数字以一个空格隔开)输出所有解, 每行一个解;如果存在多个解,按a的值升序排列。C++代码蛮力法#include <iostream>#include <algorithm>using namespace std;原创 2021-03-26 18:35:07 · 1733 阅读 · 0 评论 -
判断回文串
判断回文串问题描述C++代码问题描述【问题描述】对于一个采用字符数组存放的字符串str,设计一个递归算法判断str是否为回文串。回文串是一个正读和反读都一样的字符串,比如level或者noon等就是回文串。【输入形式】 一个字符串(不包含空格)。【输出形式】 若该字符串时回文串,则输出Yes,否则输出No【样例输入1】level【样例输出1】Yes【样例输入2】noon【样例输出2】Yes【样例输入3】good【样例输出3】NoC++代码#inclu原创 2021-03-26 18:32:47 · 2077 阅读 · 0 评论 -
小明的幸运数
小明的幸运数题目描述C++代码题目描述【问题描述】小明同学学习了不同的进制之后,拿起了一些数字做起了游戏。小明同学知道,在日常生活中最常用的是十进制数,而在计算机中二进制数也很常用。现在对于一个数字x,小明同学定义出两个函数f(x)和g(x)。 f(x)表示把x这个数用十进制写出后各个数位上的数字之和。如f(123)=1+2+3=6。 g(x)表示把x这个数用二进制写出后各个数位上的数字之和。如123的二进制表示为1111011,那么,g(123)=1+1+1+1+0+1+1=6。 小明同学发现对于一原创 2021-03-26 18:27:58 · 1765 阅读 · 0 评论 -
求包含n(n>1)个元素的无序序列中第k小的元素。
求包含n[n>1]个元素的无序序列中第k小的元素。题目描述C++程序答案题目描述【问题描述】编写一个实验程序,利用STL中的priority_queue(优先队列)求出包含n个元素的无序整数序列中第k小的元素,其中n和k由用户输入。【输入形式】第一行为一个整数,表示n的值。 第二行为n个整数,每个整数之间以一个空格间隔。 第三行为一个整数,表示k的值。【输出形式】第k小的元素。【样例输入1】5原创 2021-03-26 18:19:59 · 1880 阅读 · 0 评论