编程笔试题
文章平均质量分 59
Felix_CY
这个作者很懒,什么都没留下…
展开
-
数字转换机
思想: 首先,两组数据,必须满足具有相同的除数和余数,否则输出-1。即满足 A/a==B/b&&A%a==B%b。 其次,只考虑A和a即可。首先找到a满足至少乘以多少次2,满足最接近A。使用c表示a最接近A的数据,num表示a乘以2的次数。 用d表示A-c的值。因为如果先加1,再乘2相当于,加了2. 所以求先加1的次数。用x1表示,最后有余数就再加1即可。代原创 2017-09-13 18:53:51 · 549 阅读 · 0 评论 -
输入两个整数 n 和 m,从数列1,2,3.......n 中随意取几个数,使其和等于 m ,要求将其中所有的可能组合列出来.
这道题的思路参考0-1背包:定义函数F(n,m)来求解这个问题,那么F(n,m)可以分解为两个子问题F(n-1,m)和F(n-1,m-n).由于题目要求列出所有的组合,使用类似动态规划的方法比较复杂,我在这里直接使用递归来解决这个问题。虽然效率可能不是很好,但是代码的可读性还是比较好的。#include #include#include using namespace std; int原创 2017-09-19 21:31:57 · 1168 阅读 · 0 评论 -
给定一个整数,求出该整数的所有质因数
题目:质因数分解,给定一个整数,求该数的所有质因数,例如 90 = 2*3*3*5。 质数又称素数,有无限个。一个大于1的自然数,如果除了1和它自身外,不能被其他自然数整除(除0以外)的数称之为素数(质数);否则称为合数。根据算术基本定理,每一个比1大的整数,要么本身是一个质数,要么可以写成一系列质数的乘积;而且如果不考虑这些质数在乘积中的顺序,那么写出来的形式是唯一的。 在自然数域内,质数是...转载 2018-04-01 19:44:00 · 10600 阅读 · 0 评论 -
【笔试】区间合并
做笔试题遇到一道区间合并的题目,给定若干区间[1,2] [2,3] [4,5]合并有覆盖的区间,即为[1,3] [4,5]。经过在网上搜索类似题目,得到两种解题思路。类似题目是LeetCode上的56题目思路1.如果区间的端点范围很小,比如在范围[0,9999]。可以开一个10000大小的bool数组,然后输入区间覆盖的范围都复制true。则最后遍历数组,连续的true数据即为一个区间。这种...原创 2018-08-12 15:44:08 · 1344 阅读 · 0 评论