![](https://img-blog.csdnimg.cn/20201014180756757.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
华为在线软件训练和测试平台——OJ训练
mimi1717
这个作者很懒,什么都没留下…
展开
-
华为OJ训练之0050-170224- -等差数列求和
=====================================================//功能:等差数列 2,5,8,11,14。。。。 //输入:正整数N >0 //输出:求等差数列前N项和 //返回:转换成功返回 0 ,非法输入与异常返回-1 // //知识点 函数 //运行时间限制 10M //内存限制 128 //输入 //输入一个正整数。原创 2017-05-13 15:51:59 · 888 阅读 · 0 评论 -
华为OJ训练之0036-170112-素数伴侣
===========================================题目描述//若两个正整数的和为素数,则这两个正整数称之为“素数伴侣”,如2和5、6和13,它们能应用于通信加密。现在密码学会请你设计一个程序,从已有的N(N为偶数)个正整数中挑选出若干对组成“素数伴侣”,挑选方案多种多样,例如有4个正整数:2,5,6,13,如果将5和6分为一组中只能得到一组“素数伴侣”,而将2和5原创 2017-05-12 15:18:49 · 296 阅读 · 0 评论 -
华为OJ训练之0035-170112-字符串加解密
题目描述1、对输入的字符串进行加解密,并输出。 2加密方法为: 当内容是英文字母时则用该英文字母的后一个字母替换,同时字母变换大小写,如字母a时则替换为B;字母Z时则替换为a; 当内容是数字时则把该数字加1,如0替换1,1替换2,9替换0; 其他字符不做变化。 3、解密方法为加密的逆过程。接口描述: 实现接口,每个接口实现1个基本操作: void Encrypt (char a原创 2017-05-12 15:17:51 · 657 阅读 · 0 评论 -
华为OJ训练之0034-170112-密码强度等级
题目密码按如下规则进行计分,并根据不同的得分为密码进行安全等级划分。 一、密码长度: 5 分: 小于等于4 个字符 10 分: 5 到7 字符 25 分: 大于等于8 个字符 二、字母: 0 分: 没有字母 10 分: 全都是小(大)写字母 20 分: 大小写混合字母原创 2017-05-12 15:17:00 · 358 阅读 · 0 评论 -
华为OJ训练之0033-170111-识别有效的IP地址和掩码并进行分
题目=====================================================请解析IP地址和对应的掩码,进行分类识别。要求按照A/B/C/D/E类地址归类,不合法的地址和掩码单独归类。所有的IP地址划分为 A,B,C,D,E五类A类地址1.0.0.0~126.255.255.255; B类地址128.0.0.0~191.255.255.255; C类地址192.0.原创 2017-03-19 17:27:17 · 313 阅读 · 0 评论 -
华为OJ训练之0032-170111-记票统计
题目请实现接口: unsigned int AddCandidate (char* pCandidateName); 功能:设置候选人姓名 输入: char* pCandidateName 候选人姓名 输出:无 返回:输入值非法返回0,已经添加过返回0 ,添加成功返回1Void Vote(char* pCandidateName); 功能:投票 输入: char* pCandidat原创 2017-03-19 17:25:14 · 244 阅读 · 0 评论 -
华为OJ训练之0031-170110-明明的随机数
题目===============================================明明想在学校中请一些同学一起做一项问卷调查,为了实验的客观性,他先用计算机生成了N个1到1000之间的随机整数(N≤100),对于其中重复的数字,只保留一个,把其余相同的数去掉,不同的数对应着不同的学生的学号。然后再把这些数从小到大排序,按照排好的顺序去找同学做调查。请你协助明明完成“去重”与“排序”的原创 2017-03-19 17:23:58 · 192 阅读 · 0 评论 -
华为OJ训练之0030-170110-多线程
题目===============================================问题描述:有4个线程和1个公共的字符数组。线程1的功能就是向数组输出A,线程2的功能就是向字符输出B,线程3的功能就是向数组输出C,线程4的功能就是向数组输出D。要求按顺序向数组赋值ABCDABCDABCD,ABCD的个数由线程函数1的参数指定。[注:C语言选手可使用WINDOWS SDK库函数] 接原创 2017-03-19 17:20:55 · 679 阅读 · 0 评论 -
华为OJ训练之0029-170109-成绩排序
题目查找和排序 题目:输入任意(用户,成绩)序列,可以获得成绩从高到低或从低到高的排列,相同成绩 都按先录入排列在前的规则处理。 例示: jack 70 peter 96 Tom 70 smith 67 从高到低 成绩 peter 96 jack 70 T原创 2017-03-19 17:19:51 · 295 阅读 · 0 评论 -
华为OJ训练之0028-170109-最小公倍数
题目正整数A和正整数B 的最小公倍数是指 能被A和B整除的最小的正整数值,设计一个算法,求输入A和B的最小公倍数。 //知识点 循环,位运算 //运行时间限制 10M //内存限制 128 //输入 //输入两个正整数A和B。 //输出 //输出A和B的最小公倍数。 //样例输入 5 7 //样例输出 35==============================原创 2017-03-19 17:17:22 · 354 阅读 · 0 评论 -
华为OJ训练之0027-170108-找出第一只出现一次的字符
题目找出字符串中第一个只出现一次的字符 详细描述: 接口说明 原型: bool FindChar(char* pInputString, char* pChar); 输入参数: char* pInputString:字符串 输出参数(指针指向的内存区域保证有效): char* pChar:第一个只出现一次的字符 如果无此字符 请输出’.’知识点 字符串,循环 运行时间限制 10原创 2017-03-19 17:16:08 · 226 阅读 · 0 评论 -
华为OJ训练之0037-170114-取近似值
题目//写出一个程序,接受一个浮点数值,输出该数值的近似整数值。如果小数点后数值大于等于5,向上取整;小于5,则向下取整。 //知识点 函数 //运行时间限制 10M //内存限制 128 //输入 //输入一个浮点数值 //输出 //输出该数值的近似整数值 //样例输入 5.5//样例输出 6第一次编译错误 忘记改格式 第二次通过 98分此题需要考虑负数。==原创 2017-05-12 15:19:55 · 345 阅读 · 0 评论 -
华为OJ训练之0038-170114-自守数
题目自守数是指一个数的平方的尾数等于该数自身的自然数。例如:252 = 625,762 = 5776,93762 = 87909376。请求出n以内的自守数的个数接口说明/* 功能: 求出n以内的自守数的个数输入参数: int n 返回值: n以内自守数的数量。 */public static int CalcAutomorphicNumbers( int n) {原创 2017-05-12 15:20:45 · 309 阅读 · 0 评论 -
华为OJ训练之0039-170114-合法IP
题目现在IPV4下用一个32位无符号整数来表示,一般用点分方式来显示,点将IP地址分成4个部分,每个部分为8位,表示成一个无符号整数(因此不需要用正号出现),如10.137.17.1,是我们非常熟悉的IP地址,一个IP地址串中没有空格出现(因为要表示成一个32数字)。 现在需要你用程序来判断IP是否合法。知识点 字符串,循环,链表,队列,栈,查找,搜索,排序,树,图,数组,函数,指针,枚举,位运算原创 2017-05-12 15:21:29 · 459 阅读 · 0 评论 -
华为OJ训练之0049-170223- 学英语
=====================================================//Jessi初学英语,为了快速读出一串数字,编写程序将数字转换成英文: //如22:twenty two,123:one hundred and twenty three。 // //说明: //数字为正整数,长度不超过十位,不考虑小数,转化结果为英文小写; //输出格式为twen原创 2017-05-13 15:51:20 · 518 阅读 · 0 评论 -
华为OJ训练之0048-170223-称砝码
===================================================== 现有一组砝码,重量互不相等,分别为m1、m2……mn;他们可取的最大数量分别为x1、x2……xn。现在要用这些砝码去称物体的重量,问能称出多少中不同的重量。注: 称重重量包括0 要对输入数据进行校验方法原型:public static int fama(int n, int[] weig原创 2017-05-13 15:50:40 · 514 阅读 · 0 评论 -
华为OJ训练之0047-170222-字符串加密
=============================================== 有一种技巧可以对数据进行加密,它使用一个单词作为它的密匙。下面是它的工作原理:首先,选择一个单词作为密匙,如TRAILBLAZERS。如果单词中包含有重复的字母,只保留第1个,其余几个丢弃。现在,修改过的那个单词死于字母表的下面,如下所示: A B C D E F G H I J K L M N O原创 2017-05-13 15:50:00 · 366 阅读 · 0 评论 -
华为OJ训练之0046-170222-质数因子
===============================================功能:输入一个正整数,按照从小到大的顺序输出它的所有质数的因子(如180的质数因子为2 2 3 3 5 )详细描述:函数接口说明: public String getResult(long ulDataInput) 输入参数: long ulDataInput:输入的正整数原创 2017-05-13 15:49:14 · 519 阅读 · 0 评论 -
华为OJ训练之0045-170220- 统计字符
=============================================== 如果统计的个数相同,则按照ASII码由小到大排序输出 。如果有其他字符,则对这些字符不用进行统计。 实现以下接口: 输入一个字符串,对字符中的各个英文字符,数字,空格进行统计(可反复调用) 按照统计个数由多到少输出统计结果,如果统计的个数相同,则按照ASII码由小到大排序输出原创 2017-05-13 15:48:37 · 316 阅读 · 0 评论 -
华为OJ训练之0044-170220- 矩阵乘法
===============================================如果A是个x行y列的矩阵,B是个y行z列的矩阵,把A和B相乘,其结果将是另一个x行z列的矩阵C。这个矩阵的每个元素是由下面的公式决定的: 2.bmp原型: voidmatrix_multiply(int *m1,int *m2,int *r, int x, int y, int z); 输入参数:原创 2017-05-13 15:47:50 · 253 阅读 · 0 评论 -
华为OJ训练之0043-170220-蛇形矩阵
===============================================题目说明 蛇形矩阵是由1开始的自然数依次排列成的一个矩阵上三角形。样例输入 5 样例输出 1 3 6 10 15 2 5 9 14 4 8 13 7 12 11 接口说明 原型 void GetResult(int Num, char * pResult); 输入参数:原创 2017-05-13 15:47:12 · 298 阅读 · 0 评论 -
华为OJ训练之0042-170115-整形数组排序
=============================题目标题: 将两个整型数组按照升序合并,并且过滤掉重复数组元素 详细描述: 接口说明 原型: voidCombineBySort(int* pArray1,intiArray1Num,int* pArray2,intiArray2Num,int* pOutputArray,int* iOutputNum); 输入参数:原创 2017-05-13 15:46:23 · 302 阅读 · 0 评论 -
华为OJ训练之0041-170115-合并数据表记录
题目==================================================数据表记录包含表索引和数值。请对表索引相同的记录进行合并,合并后表记录为相同索引表的数值求和函数说明: public int mergeRecord(List oriList, List rstList) 数据表记录包含表索引和数值。请对表索引相同的记录进行合并,合并后表记录为相同索引表的数值原创 2017-05-13 15:45:42 · 261 阅读 · 0 评论 -
华为OJ训练之0040-170114-句子逆序(单词倒排)
题目将一个英文语句以单词为单位逆序排放。例如“I am a boy”,逆序排放后为“boy a am I” 所有单词之间用一个空格隔开,语句中除了英文字母外,不再包含其他字符接口说明 /** * 反转句子 * * @param sentence 原句子 * @return 反转后的句子 */ public String reverse(String sentence);知原创 2017-05-12 15:22:41 · 736 阅读 · 0 评论 -
华为OJ训练之0026-170108-放苹果
================================================题目描述把M个同样的苹果放在N个同样的盘子里,允许有的盘子空着不放,问共有多少种不同的分法?(用K表示)5,1,1和1,5,1 是同一种分法。输入 每个用例包含二个整数M和N。0<=m<=10,1<=n<=10。<=n<=10<=m<=10样例输入 7 3样例输出 8/** * 计算放苹原创 2017-03-19 17:15:16 · 274 阅读 · 0 评论 -
华为OJ训练之0025-170108-去掉重复数字
题目================================================//输入一个int型整数,按照从右向左的阅读顺序,返回一个不含重复数字的新的整数。 //知识点 数组 //运行时间限制 10M //内存限制 128 //输入 //输入一个int型整数 //输出 //按照从右向左的阅读顺序,返回一个不含重复数字的新的整数 //如果返的整数以原创 2017-03-19 17:14:28 · 481 阅读 · 0 评论 -
华为OJ训练之0011-170101-完全数
题目完全数(Perfect number),又称完美数或完备数,是一些特殊的自然数。 它所有的真因子(即除了自身以外的约数)的和(即因子函数),恰好等于它本身。 例如:28,它有约数1、2、4、7、14、28,除去它本身28外,其余5个数相加,1+2+4+7+14=28。 给定函数count(int n),用于计算n以内(含n)完全数的个数。计算范围, 0 < n <= 500000 返回n原创 2017-03-19 16:59:22 · 321 阅读 · 0 评论 -
华为OJ训练之0010-161231-挑7
题目//描述 //输出7有关数字的个数,包括7的倍数,还有包含7的数字(如17,27,37…70,71,72,73…)的个数 //知识点 循环 //运行时间限制 0M //内存限制 0 //输入 //一个正整数N。(N不大于30000) //输出 //不大于N的与7有关的数字个数,例如输入20,与7有关的数字包括7,14,17. //样例输入 20 //样例输出原创 2017-03-19 16:58:04 · 320 阅读 · 0 评论 -
华为OJ训练之0009-161231-统计二进制数字中1的个数(求int型数据在内存中存储时1的个数)
题目==============================================================请实现如下接口 public static int findNumberOf1(intnum) { /* 请实现 */ return 0; }譬如:输入5 ,5的二进制为101,输出2涉及知识点:位运算知识点原创 2017-03-19 16:55:08 · 385 阅读 · 0 评论 -
华为OJ训练之0007-151230-统计大写字母个数
题目输入一个String数据 输出 输出string中大写字母的个数 需考虑字符串为空 如果为空输出0 样例输入 add123#$%#%#O 样例输出 1===========================================一次通过 100分import java.util.Scanner;//输入一个String数据//输出 //输出string中原创 2017-03-19 16:50:11 · 265 阅读 · 0 评论 -
华为OJ训练之0008-161230-输出链表倒数第k个数字
题目输入一个单向链表,输出该链表中倒数第k个结点,链表的倒数第0个结点为链表的尾指针。 链表结点定义如下: struct ListNode { int m_nKey; ListNode* m_pNext; }; 详细描述: 接口说明 原型: ListNode* FindKthToTail(ListNode* pListHead, unsigne原创 2017-03-19 16:54:11 · 296 阅读 · 0 评论 -
华为OJ训练之0004-161228-数字颠倒
题目描述: 输入一个整数,将这个整数以字符串的形式逆序输出 程序不考虑负数的情况,若数字含有0,则逆序形式也含有0,如输入为100,则输出为001知识点 字符串 运行时间限制 10M 内存限制 128 输入 输入一个int整数 输出 将这个整数以字符串的形式逆序输出 样例输入 1516000 样例输出 0006151===============原创 2017-03-19 16:37:36 · 237 阅读 · 0 评论 -
华为OJ训练之0006-161229-输出前k个最小数字
题目===========================================输入n个整数,输出其中最小的k个。 详细描述: 接口说明 原型: bool GetMinK(unsignedint uiInputNum, int * pInputArray, unsignedint uiK, int * pOutputArray); 输入参数: unsignedint原创 2017-03-19 16:48:17 · 279 阅读 · 0 评论 -
华为OJ训练之0005-161228-找出连续最长数字串
题目输入一个字符串。 输出 输出字符串中最长的数字字符串和它的长度。 如果数字字符串为空,则只输出0 如 input: dadfsaf output:0 样例输入 abcd12345ed125ss123058789 样例输出 123058789,9原创 2017-03-19 16:46:33 · 277 阅读 · 0 评论 -
华为OJ训练之0003-161228-统计字符
题目输入 输入一行字符串,可以有空格 输出 统计其中英文字符,空格字符,数字字符,其他字符的个数 样例输入 1qazxsw23 edcvfr45tgbn hy67uj m,ki89ol.\/;p0-=\][ 样例输出 26 3 10 12原创 2017-03-19 16:36:43 · 403 阅读 · 0 评论 -
华为OJ训练之0002-161227-图片整理-快速排序
题目Lily上课时使用字母数字图片教小朋友们学习英语单词,每次都需要把这些图片按照大小(ASCII码值从小到大)排列收好。请大家给Lily帮忙,通过C语言解决。知识点 字符串 运行时间限制 0M 内存限制 0 输入 Lily使用的图片包括”A”到”Z”、”a”到”z”、”0”到”9”。输入字母或数字个数不超过1024。输出 Lily的所有图片按照从小到大的顺序输出原创 2017-03-19 16:41:13 · 287 阅读 · 0 评论 -
华为OJ训练之0012-170101-DNA序列
题目一个DNA序列由A/C/G/T四个字母的排列组合组成。G和C的比例(定义为GC-Ratio)是序列中G和C两个字母的总的出现次数除以总的字母数目(也就是序列长度)。在基因工程中,这个比例非常重要。因为高的GC-Ratio可能是基因的起始点。 给定一个很长的DNA序列,以及要求的最小子序列长度,研究人员经常会需要在其中找出GC-Ratio最高的子序列。知识点 字符串 运行时间限制 10M原创 2017-03-19 17:00:29 · 366 阅读 · 0 评论 -
华为OJ训练之0013-170101-百钱百鸡问题
题目//公元前五世纪,我国古代数学家张丘建在《算经》一书中提出了“百鸡问题”:鸡翁一值钱五,鸡母一值钱三,鸡雏三值钱一。百钱买百鸡,问鸡翁、鸡母、鸡雏各几何? //详细描述: //接口说明 //原型: //int GetResult(vector &list) //输入参数: // 无 //输出参数(指针指向的内存区域保证有效): // list 鸡翁、鸡母、鸡原创 2017-03-19 17:01:25 · 413 阅读 · 0 评论 -
华为OJ训练之0014-170102-计算立方根
题目//•计算一个数字的立方根,不使用库函数 //详细描述: //•接口说明 //原型: //public static double getCubeRoot(double input) //输入:double 待求解参数 //返回值:double 输入参数的立方根============================================================一原创 2017-03-19 17:02:13 · 275 阅读 · 0 评论 -
华为OJ训练之0024-170107-杨辉三角的变形
题目============================================// 1 // 1 1 1 // 1 2 3 2 1 // 1 3 6 7 6 3 1 //1 4 10 16 19 16 10 4 1//以上三角形的数阵,第一行只有一个数1,以下每行的每个数,是恰好是它上面的数,原创 2017-03-19 17:13:37 · 533 阅读 · 0 评论