算法题
097
这个作者很懒,什么都没留下…
展开
-
【华为机试】尼科彻斯定理
描述验证尼科彻斯定理,即:任何一个整数m的立方都可以写成m个连续奇数之和。例如:1^3=12^3=3+53^3=7+9+114^3=13+15+17+19输入一个正整数m(m≤100),将m的立方写成m个连续奇数之和的形式输出。本题含有多组输入数据。数据范围:数据组数:1 <= t <= 5,1 <= m <= 100;进阶:时间复杂度:O(1),空间复杂度:O(1)输入描述:输入一个int整数输出描述:输出分解后的stri原创 2021-11-01 11:30:43 · 177 阅读 · 0 评论 -
【华为机试】公共子串计算
描述给定两个只包含小写字母的字符串,计算两个字符串的最大公共子串的长度。注:子串的定义指一个字符串删掉其部分前缀和后缀(也可以不删)后形成的字符串。数据范围:字符串长度:1 <= s <= 150进阶:时间复杂度:O(n^3),空间复杂度:O(n)输入描述:输入两个只包含小写字母的字符串输出描述:输出一个整数,代表最大公共子串的长度示例1输入:asdfaswerasdfaswer输出:6#include <iostream&g原创 2021-10-29 22:10:49 · 198 阅读 · 0 评论 -
【华为机试】参数解析
描述在命令行输入如下命令:xcopy/sc:\\ d:\\e,各个参数如下:参数1:命令字xcopy参数2:字符串/s参数3:字符串c:\\参数4:字符串d:\\e请编写一个参数解析程序,实现将命令行各个参数解析出来。解析规则:1.参数分隔符为空格2.对于用""包含起来的参数,如果中间有空格,不能解析为多个参数。比如在命令行输入xcopy/s "C:\\programfiles" "d:\"时,参数仍然是4个,第3个参数应该是字符串C:\\progr...原创 2021-10-29 11:51:03 · 132 阅读 · 0 评论 -
【华为机试】计算日期到天数转换
描述根据输入的日期,计算是这一年的第几天。保证年份为4位数且日期合法。进阶:时间复杂度:O(n),空间复杂度:O(1)。输入描述:输入一行,每行空格分割,分别是年,月,日输出描述:输出是这一年的第几天示例1输入:2012 12 31输出:366示例2输入:1982 3 4输出:63#include <iostream>using namespace std;int main(){ int date原创 2021-10-28 22:09:25 · 435 阅读 · 0 评论 -
【华为机试】百钱买百鸡问题
描述公元前五世纪,我国古代数学家张丘建在《算经》一书中提出了“百鸡问题”:鸡翁一值钱五,鸡母一值钱三,鸡雏三值钱一。百钱买百鸡,问鸡翁、鸡母、鸡雏各几何?现要求你打印出所有花一百元买一百只鸡的方式。输入描述:输入任何一个整数,即可运行程序。输出描述:输出有数行,每行三个整数,分别代表鸡翁,母鸡,鸡雏的数量示例1输入:1输出:0 25 754 18 788 11 8112 4 84#include <iostream>using na.原创 2021-10-28 21:10:23 · 230 阅读 · 0 评论 -
【华为机试】单词倒排
描述对字符串中的所有单词进行倒排。说明:1、构成单词的字符只有26个大写或小写英文字母;2、非构成单词的字符均视为单词间隔符;3、要求倒排后的单词间隔符以一个空格表示;如果原字符串中相邻单词间有多个间隔符时,倒排转换后也只允许出现一个空格间隔符;4、每个单词最长20个字母;数据范围:字符串长度满足 1<= n <= 1000输入描述:输入一行以空格来分隔的句子输出描述:输出句子的逆序示例1输入:I am a student输出:.原创 2021-10-28 15:11:53 · 111 阅读 · 0 评论 -
【华为机试】查找输入整数二进制中1的个数
描述输入一个正整数,计算它在二进制下的1的个数。注意多组输入输出!!!!!!数据范围:输入描述:输入一个整数输出描述:计算整数二进制中1的个数示例1输入:5输出:2说明:5的二进制表示是101,有2个1 示例2输入:0复制输出:0#include <iostream>using namespace std;int main(){ int input; while..原创 2021-10-26 19:45:47 · 130 阅读 · 0 评论 -
【华为机试】质数因子
描述功能:输入一个正整数,按照从小到大的顺序输出它的所有质因子(重复的也要列举)(如180的质因子为22335)最后一个数后面也要有空格输入描述:输入一个long型整数输出描述:按照从小到大的顺序输出它的所有质数的因子,以空格隔开。最后一个数后面也要有空格。示例1输入:180输出:2 2 3 3 5#include <iostream>#include <cmath>using namespace std;...原创 2021-10-26 19:22:17 · 102 阅读 · 0 评论 -
【华为机试】鸡蛋放在篮子里
我自己描述为鸡蛋和篮子问题描述题目描述把m个同样的苹果放在n个同样的盘子里,允许有的盘子空着不放,问共有多少种不同的分法?(用K表示)5,1,1和1,5,1是同一种分法。数据范围:0<=m<=10,1<=n<=10。本题含有多组样例输入。输入描述:输入两个int整数输出描述:输出结果,int型示例1输入:7 3输出:8牛客一位大神的代码;我盯着代码琢磨了一下午才看明白,现在加上自己的注释。使用递归,保证每个篮子.原创 2021-10-26 17:55:24 · 364 阅读 · 0 评论 -
【华为机试】完全数计算
描述完全数(Perfectnumber),又称完美数或完备数,是一些特殊的自然数。它所有的真因子(即除了自身以外的约数)的和(即因子函数),恰好等于它本身。例如:28,它有约数1、2、4、7、14、28,除去它本身28外,其余5个数相加,1+2+4+7+14=28。s输入n,请输出n以内(含n)完全数的个数。计算范围,0<n<=500000本题输入含有多组样例。输入描述:输入一个数字n输出描述:输出不超过n的完全数的个数示例1输入:...原创 2021-10-26 10:36:40 · 109 阅读 · 0 评论 -
【华为机试】统计每个月兔子的总数
描述有一只兔子,从出生后第3个月起每个月都生一只兔子,小兔子长到第三个月后每个月又生一只兔子,假如兔子都不死,问第n个月的兔子总数为多少?本题有多组数据。输入描述:多行输入,一行输入一个int型整数表示第n个月输出描述:每一行输出对应的兔子总数示例1输入:123459输出:1123534属于斐波那契数列,使用数组递归#include <iostream>using namespace std;int main原创 2021-10-23 16:55:28 · 104 阅读 · 0 评论 -
【华为机试】汽水瓶
描述有这样一道智力题:“某商店规定:三个空汽水瓶可以换一瓶汽水。小张手上有十个空汽水瓶,她最多可以换多少瓶汽水喝?”答案是5瓶,方法如下:先用9个空瓶子换3瓶汽水,喝掉3瓶满的,喝完以后4个空瓶子,用3个再换一瓶,喝掉这瓶满的,这时候剩2个空瓶子。然后你让老板先借给你一瓶汽水,喝掉这瓶满的,喝完以后用3个空瓶子换一瓶满的还给老板。如果小张手上有n个空汽水瓶,最多可以换多少瓶汽水喝?输入描述:输入文件最多包含10组测试数据,每个数据占一行,仅包含一个正整数n(1<=n<=100),表.原创 2021-10-23 16:39:45 · 107 阅读 · 0 评论 -
【华为机试】HJ101 输入整型数组和排序标识,对其元素按照升序或降序进行排序
描述输入整型数组和排序标识,对其元素按照升序或降序进行排序输入描述:第一行输入数组元素个数第二行输入待排序的数组,每个数用空格隔开第三行输入一个整数0或1。0代表升序排序,1代表降序排序输出描述:输出排好序的数字示例1输入:81 2 4 9 3 55 64 250复制输出:1 2 3 4 9 25 55 64复制示例2输入:51 2 3 4 51输出:5 4 3 2 1...原创 2021-10-23 16:37:01 · 256 阅读 · 0 评论 -
【华为机试】杨辉三角的变形
以上三角形的数阵,第一行只有一个数1,以下每行的每个数,是恰好是它上面的数,左上角数到右上角的数,3个数之和(如果不存在某个数,认为该数就是0)。求第n行第一个偶数出现的位置。如果没有偶数,则输出-1。例如输入3,则输出2,输入4则输出3。输入n(n<=1000000000)本题有多组输入数据,输入到文件末尾,请使用while(cin>>)等方式读入输入描述:输入一个int整数输出描述:输出返回的int值示例1输入:42输出:...原创 2021-10-20 11:11:35 · 98 阅读 · 0 评论 -
【华为机试】表达式求值
牛客一位大神写的,看了一下午才看懂,核心是递归算法,记录下注释给定一个字符串描述的算术表达式,计算出结果值。输入字符串长度不超过100,合法的字符包括”+,-,*,/,(,)”,”0-9”,字符串内容的合法性及表达式语法的合法性由做题者检查。本题目只涉及整型计算。输入描述:输入算术表达式输出描述:计算出结果值示例1输入:-3*(7-2)-5输出:-20#include <string>#include <iostream&g...原创 2021-10-19 20:55:12 · 434 阅读 · 0 评论 -
【华为机试】HJ13 句子逆序
描述:将一个英文语句以单词为单位逆序排放。例如“Iamaboy”,逆序排放后为“boyaamI”所有单词之间用一个空格隔开,语句中除了英文字母外,不再包含其他字符输入描述:输入一个英文语句,每个单词用空格隔开。保证输入只包含空格和字母。输出描述:得到逆序的句子示例1输入:I am a boy输出:boy a am I#include <iostream>#include<vector>using namespac...原创 2021-10-19 11:13:10 · 161 阅读 · 0 评论