华为普工面试题,这道题怎么解

2020-04-27 11:30:13 +08:00
 bilibiliCXK
36.请编写一个算法,使得等式成立。

1 2 3 4 5 6 7 8 = 1024
4239 次点击
所在节点    问与答
25 条回复
choudidi
2020-04-27 11:37:12 +08:00
确定是普工?
cyndra0
2020-04-27 11:37:25 +08:00
(1+2+3-4)^(5+6+7-8)=1024
minami
2020-04-27 11:38:26 +08:00
DFS 暴力搜就完事了
stoneabc
2020-04-27 11:38:39 +08:00
24 点加强版?
minami
2020-04-27 11:38:52 +08:00
@choudidi #1 华为校招笔试题就是这样子的。。
bilibiliCXK
2020-04-27 11:40:03 +08:00
@choudidi 是的,华为的普工要求全日制高中以上学历,大专优先录用。所以这类题目比较难
choudidi
2020-04-27 11:41:42 +08:00
@bilibiliCXK 真棒
bilibiliCXK
2020-04-27 11:42:54 +08:00
@cyndra0
@choudidi

对的
unidentifiedme
2020-04-27 11:52:10 +08:00
没想到搜索之外的方法,不过这个仅限四则运算和括号都有 8*7*4*7*6*4*6*5*4*5*4*4*3*2*4*2*1*4 种可能,brute force 应该是不行,剪剪枝不知道行不行
Caturra
2020-04-27 13:21:08 +08:00
1 << (2 + 3/4 + 5/6*7 + 8)
/是下取整
cnmllll
2020-04-27 13:34:33 +08:00
1*2**(3*4+5-6+7-8) 第一时间想到了 2**10=1024 后面的数字往 10 上靠
gdt
2020-04-27 13:43:01 +08:00
2=2 的 1 次方,4=2 的 2 次方,8 等于 2 的 3 次方,1024=2 的 10 次方。两边约去 2 的 6 次方,简化为 3 5 6 7 -> 2 的 4 次方。
gdt
2020-04-27 13:46:07 +08:00
@gdt 简化为 1 3 5 6 7 -> 2 的 4 次方。(1+3)*(5+6-7)=2 的 4 次方。
wszgrcy
2020-04-27 14:12:29 +08:00
回溯?
ssdrtt
2020-04-27 15:58:40 +08:00
((1+2*3+4)*(5+6)+7)*8
yiqunz
2020-04-27 17:06:30 +08:00
看对 1024 敏不敏感,转 2^10 即可
ppyzzz
2020-04-27 17:21:01 +08:00
华为啥类型的普工?俺不懂,但是感觉不是很难的样子
bilibiliCXK
2020-04-27 20:02:06 +08:00
@ppyzzz 深圳松山湖。工厂流水线
bilibiliCXK
2020-04-27 20:13:56 +08:00
华为可不是像富士康那样好进,富士康小学文化都可以进,华为最低学历高中,没点真材实料普工都干不了
iVeego
2020-04-27 20:18:07 +08:00
@bilibiliCXK #18 松山湖不是在东莞嘛

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/666537

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX