- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
百度三面面试试题
1、设计一个对乘法是封闭的操作,就是例如输入一个n(比如8),那么在1---8中间的8个数字
,任意两个相乘的结果始终都是位于8个数字之间的任意一个数字。举例如下,比如2*3还是6,
2*4还是8,但是3*4 、3*4、 4*4 这样的乘积必须始终还是在1---8中间的一个数字。
偶的想法是:如果只定义乘法的话,可以将乘积的结果除以8取余再加1,刚好可以映射到1到8
,不知道这样算不算一个思路~~~
偶一开始是这样回答的,但是面试官说,这样做是无法满足消去律的,就是 a*b=a*c,,且a!=0; 那么b=c
因为按照我说的那个方法的话, 4*2=4*6 但是2 != 6,于是就导致无法满足消去律。
(面试是这么说的,乘积小于等于n的结果还是用一般的数学乘法, 乘积大于n的时候,需要设
计一个,而且乘积结果不能为0,因为输入的n是一个正整数,乘积必须始终还是在1---n中间的
一个数字。 很显然,乘积不能为0的
)
(绝对木有演绎,面试官的要求就是例如,1*2=2,2*2=4,3*1=3,2*3=6,2*4=4,4*1=4,4*2=8,
这些乘积小于等于8的还是采用C语言中原先的那个乘法,关键是设计一个乘积结果大于8的那部
分乘法,使其乘积依然处于1---8之间,而且消去率、交换律依然还要满足的。。)
(比如说 4*1=4 4*2=8 那么4*3 4*4 4*5 4*6 4*7 4*8 的乘积只能是1 2 3 5 6 7中的一种排
列,关键是确定这个排列是什么?
另外,如果4*3==4*5==6的话,那么就无法满足消去律了,所以可以肯定任意两个的乘积肯定是
不等的。。)
(
是这个意思的,面试的要求乘积小于等于8时,必须用一般的数字乘法,
大于8才能自定义?
而且不一定是8啊,8只是面试官给的一个数字,便于我思考,他说输入是一个n,n可能达到上
百的)
(面试是这么说的,乘积小于等于n的结果还是用一般的数学乘法, 乘积大于n的时候,需要设
计一个,而且乘积结果不能为0,因为输入的n是一个正整数,乘积必须始终还是在1---n中间的
一个数字。 很显然,乘积不能为0的)
(1、设计一个对乘法是封闭的操作,就是例如输入一个n(比如8),那么在1---8中间的8个数
字,任意两个相乘的结果始终都是位于8个数字之间的任意一个数字。
这个举例如下是你说的,还是面试的说的。。。如果非要这样的话,骚年表示搞不定吃饭了。
我们学习代数结构的时候一般全都自定义运算操作。
//举例如下,比如2*3还是6,2*4还是8,但是3*4 、3*4、 4*4 这样的乘积必须始终还是在1
---8中间的一个数字)---这个绝对是面试官说的,不是我自己认为的,我后来向面试官反复确
定了,后面面试官就举了个8的例子,给我写了几个乘积,详细说明了题目的要求
(2*2必须等于4,凡是不等于4的结果都是错误的,因为题目说的很明白,凡是乘积小于等于n的
,都采用原有的数学乘法,你的这个结果:
1 2 3 4
2 4 1 3
3 1 4 2
4 3 2 1
是正确的)
(我在详细解释一下,面试是这么说的,乘积小于等于n的结果还是用一般的数学乘法, 乘积大
于n的时候,需要设计一个,而且乘积结果不能为0,因为输入的n是一个正整数,乘积必须始终
还是在1---n中间的一个数字。 很显然,乘积不能为0的)
(
引用 76 楼 的回复:
题目说等价是指a*b=b*a,应该没有a*b*c = c*b*a这是两个不同的约束,虽然=4只有1解且符合
a*b*c = c*b*a,显然做到a*b*c = c*b*a要麻烦的多
有结合律的约束条件的,帖子上我当时忘记贴出来了,而且当时面试官说对于每个n,可能有多
个解法,只要求任意输出一个解法就可以了,我试着写了个n==5的情况,是下面的这个:
1 2 3 4 5
2 4 5 3 1
3 5 2 1 4
4 3 1 5 2
5 1 4 2 3
下面这个是66F的那个朋友写的
1 2 3 4 5
2 4 1 5 3
3 1 5 2 4
4 5 2 3 1
5 3 4 1 2
我发现66F这个朋友的解法也是可以的,同样满足条件的,看来的确是存在多个解法的)
2、是如何统计代码行数以及注释的行数,并写出具体的实现代码。
3、要求用最快的速度求两个数组的交集,提示数组中的元素是无序的。写出具体的实现代码。
4、写程序,将一个浮点数转化为字符串。
(你好,第4个是不能使用sprintf,偶开始是这么用
的,但是面试官要求不能用这个函数的。。)
各位大神看到的,给个解法吧,偶当时都回答的很不好
解答1:
1,*当做C里的,+当做|,-当做~,你懂的,就是集合运算是闭的.
2,代码行数是按照\n数的,行注释//需要注意//..
原创力文档


文档评论(0)