l*****a 发帖数: 559 | 1 怎么做都是lg(n)。
n为该数十进制的值,
bit的个数为lg(n)。 |
|
|
c******5 发帖数: 84 | 3 他的意思应该是针对十进制来说的 比如3243, 找出这个3 |
|
a****l 发帖数: 8211 | 4 比如这么一道题目,“给你一个16进制的signed数0xFFD8,告诉我这个数的十进制是多
少”。条件是不限时间,可以使用任何软硬件工具来计算。这样的题目会有人做不出来
吗?MLGB,居然有人真的做不出来,还号称自己是经验丰富的嵌入式软件设计师! |
|
g*******s 发帖数: 2963 | 5 我碰到过出题的,不过都很简单的口头描述就行了。什么二进制十进制转换,数组找
duplicate什么的。 |
|
y*u 发帖数: 111 | 6 系统软件工程师,一共七轮,水平有限,还请指正。
1. 中国人:
I. 我Resume上的Semaphore是如何实现的,写下来。我写了一半,有一点忘记了。
问了spinlock使用的问题。
II. 智力题:小明一家过河
2. Hiring manager白人:
I. 一张七道题关于C语言的卷子!!!其它再无交流空间,给试卷做,当时就闷了!
题目有:str[]和*str的区别;数组指针大小;包含不同类型变量的struct大小;实现
一个程序能查看自身的内存占用情况;还有三题记不得了
3. 阿三带吃饭:
I. 问了我一些基本概念,学校学习情况。然后开始说:我们边吃边想,思 考
一个程序题目吧。你别停啊,多吃。 题目倒是不难,两个string表示的二进制,一
个是32位,一个8位。里面都是1和0。问怎么判断B是A的substring?我答了两种:第一
种最简单的,从左往右遍历,O(m*n)。第二种: 我们用一个8位的mask把A罩起来,然后
和B做XOR,如果结果是0,那么就是substring,如果不是,那么继续shift再找。这人
... 阅读全帖 |
|
e*******8 发帖数: 94 | 7 不算啊。additive number前两个数字确定之后后面的数字就固定了:比如给定一个序
列 d0, d1, d2, d3, d4......假设前两个数字是d0d1d2, d3d4,后面的序列就只能是 (
d0d1d2 + d3d4)(十进制相加两个数字), d3d4 + (d0d1d2 + d3d4),.....
所以1121315和11213253都可以:
11,2,13,15
11,21,32,53
但是11211325没法写成这种形式吧 |
|
s********u 发帖数: 1109 | 8 如果是用256的底,没有collision,就像你一个数用十进制表示,只有唯一一种可能。
base+ |
|
M*******a 发帖数: 1633 | 9 你说每个数字都convert to 13 based,然后看最后位是不是3?
那我为什么不十进制每个数字都看看是不是mod 13 = 3直接? |
|
p**o 发帖数: 3409 | 10 只要意识到递归关系:后n位含5 当且仅当 倒数第n位是5 或 后n-1位含5
实现就异常elegant(Python3.3+)
def gen5 (n):
""" Generate all k-digit (1<=k<=n) decimals with digit 5 in ascending
order. """
if n>=1:
POW = 10**(n-1)
yield from (x * POW + y for x in range(5) for y in gen5(n-1))
yield from (5 * POW + y for y in range(POW))
yield from (x * POW + y for x in range(6,10) for y in gen5(n-1))
如果你只是要顺序输出打印“所有含5的N位十进制数”,简单地
>>> list(gen5(0))
[]
>>> list(gen5(1))
[5]
>>> list(gen5(2))
[5, 15, 25, 3... 阅读全帖 |
|
p**o 发帖数: 3409 | 11 我11楼那个方法,“后n位含5 当且仅当 倒数第n位是5 或 后n-1位含5”,
从most significant digit开始递归,保证输出有序,
所以容易根据给定的最大值终止生成器。
此前我的思路是从个位数往高位开始左移递归:
“前n位含5 当且仅当 第n位是5 或 前n-1位含5”。
这种方法的缺陷是:结果无序,所以不方便根据给出的最大值跳出生成器。
DIGIDS_NO5 = (0,1,2,3,4,6,7,8,9)
# Generate all k-digit (1<=k<=n) numbers without digit 5
def genno5 (n):
if n == 1: yield from DIGIDS_NO5
else:
for x in genno5(n-1):
for y in DIGIDS_NO5:
yield 10 * y + x
# Generate all k-digit (1<=k<=n) numbers with digit 5
def gen5 (n):
... 阅读全帖 |
|
p**o 发帖数: 3409 | 12 只要意识到递归关系:后n位含5 当且仅当 倒数第n位是5 或 后n-1位含5
实现就异常elegant(Python3.3+)
def gen5 (n):
""" Generate all k-digit (1<=k<=n) decimals with digit 5 in ascending
order. """
if n>=1:
POW = 10**(n-1)
yield from (x * POW + y for x in range(5) for y in gen5(n-1))
yield from (5 * POW + y for y in range(POW))
yield from (x * POW + y for x in range(6,10) for y in gen5(n-1))
如果你只是要顺序输出打印“所有含5的N位十进制数”,简单地
>>> list(gen5(0))
[]
>>> list(gen5(1))
[5]
>>> list(gen5(2))
[5, 15, 25, 3... 阅读全帖 |
|
p**o 发帖数: 3409 | 13 我11楼那个方法,“后n位含5 当且仅当 倒数第n位是5 或 后n-1位含5”,
从most significant digit开始递归,保证输出有序,
所以容易根据给定的最大值终止生成器。
此前我的思路是从个位数往高位开始左移递归:
“前n位含5 当且仅当 第n位是5 或 前n-1位含5”。
这种方法的缺陷是:结果无序,所以不方便根据给出的最大值跳出生成器。
DIGIDS_NO5 = (0,1,2,3,4,6,7,8,9)
# Generate all k-digit (1<=k<=n) numbers without digit 5
def genno5 (n):
if n == 1: yield from DIGIDS_NO5
else:
for x in genno5(n-1):
for y in DIGIDS_NO5:
yield 10 * y + x
# Generate all k-digit (1<=k<=n) numbers with digit 5
def gen5 (n):
... 阅读全帖 |
|
f***s 发帖数: 112 | 14 我能想到的就是因为每一个数字都至少有一个1,所以可以统计每一位1的缺失情况
譬如如果0000000 这七个位末尾(表示十进制0-1)缺少 m个1, 那么就是说有这k个缺
失的数字有m个mod 2 等于 1
极端简单情况是每个却是数字都只有一个 1, 那么扫一遍就知道是什么数字了,如果
有些数字不止一个1,那么看看能不能建立一些方程? |
|
|
s*******m 发帖数: 228 | 16 OK.这个我门请,
全局ID生成一个integer,比如 000001
然后把integer转化成 tinyURL,自己定义一个如下的hash function.
用0-9, a-z, A-Z. 有62个字符。tinyURL就是一个base62的整数。
我们把十进制integer,000001 转化成62进制的integer.
done |
|
A*******e 发帖数: 2419 | 17 主要是思路,相当于十进制里,用1到10,而不是0到9,给数字编码。缺点是不能表示0。
其实汉语的数字描述就是这一套。十相当于这里的Z。
一
二
三
...
十
一十一
一十二
... |
|
A*******e 发帖数: 2419 | 18 不会是只看最优解的长度吧?
那两道Excel的题,如果想不到变形十进制,写起来很繁琐。还有那个zigzag
conversion,代码不长,但数组下标很容易算错。 |
|
p*****y 发帖数: 1049 | 19 几年前在fb面试的时候,有个阿三 问我一道题
给一个十进制的数,转化成为 “-2” 进制。他拒绝跟我讨论,就是在玩手机。我用
recursion写了一个,不知道对错
不知高人有何解法 |
|
发帖数: 1 | 20 一个十进制数,17,转为(-2)进制,和转为2进制,做法一样
每次除以-2,直到商为0。
17 / (-2) = -8, 余-1
(-8) / (-2) = 4, 余0
4 / (-2) = -2,余0
(-2) / (-2) = 1,余0
1/(-2) = 0, 余-1
把余数着写出来,结果是一个5位数, (-1)000(-1)
这个数转回10进制,方法是 (-1) * (-2) ^ 4 + 0 * (-2) ^ 3 + 0 * (-2) ^ 2 + 0
* (-2) ^ 1 + (-1) * (-2) ^ 0 = -16 - 1 = -17 |
|
i*****9 发帖数: 3157 | 21 有趣的题目,看起来似乎是来自天平称球的变形
先列一下-2进制到10进制的对应关系,等下再想怎么做。
1 1
10 -2
11 -1
100 4
101 5
110 2
111 3
1000 -8
1001 -7
1010 -10
1011 -9
1100 -4
1101 -3
1110 -6
1111 -5
:几年前在fb面试的时候,有个阿三 问我一道题
:给一个十进制的数,转化成为 “-2” 进制。他拒绝跟我讨论,就是在玩手机。我用 |
|
i****k 发帖数: 236 | 22 美国家庭日常插座的电压是120伏,频率是60赫兹。中国的电压是220伏,频率是50赫兹
。欧洲国家的电压也都在200到240伏。
三相交流电机和传输系统是19世纪,由Nicola Tesla发明的。经过计算他觉得用60赫兹
是最合适的。选用240伏作为电压是要区别同时代的美国的发明家爱迪生的110直流伏电
压标准。
不久,德国的AEG公司建立了世界上第一个发电厂,当时用的电压标准是120伏。原来的
60赫兹的频率因为不能和十进制很好的匹配而改为50赫兹。基本上120伏,这样的情况
一直延续到二战。
二战结束后人们意识到交流电的传输中,如果能够提高电压,导线的横截面积可以适当
减小。这意味着能够节省大量的铜。欧洲各国刚刚从二战中走出,几乎一切都需要重建
,所以欧洲国家借机将电压提高到200~240伏。美国的家庭中都普遍使用了一些电器设
备,很难推倒重来。但在五十,六十年代,美国电网也逐步使用了240伏的技术,只不
过在接入每个家庭的时候,将240伏,分成了两个120伏。这就形成了我们今天的情况:
一般的电器,和插座中的电压都是120伏的,但是一些特殊的设备,比如电炉,烤箱,
烘干机,是2... 阅读全帖 |
|
|
a*****a 发帖数: 19262 | 24 我是支持女儿早些学习家务活的,我自己从记事开始一直干家务,爸爸一直教导,什么
时候都要勤快,生活中学习的东西很多很多。
之前女儿还帮我弄弄面团,摘菜之类的
现在也甩手掌柜了
不过这两天我特高兴的是,她开始做作业了,婆婆出了简单的加减数学题,她做了,正
确率80%以上。
今儿早上我离家之前给她一些要十进制的题目,不知道她会不会做对,看着歪歪斜斜的
数字,真的挺可爱的。
婆婆问,美国什么时候教乘法口诀,我说好像不教,婆婆开始感叹美国学校怎么什么都
不教啊。。。 |
|
a***l 发帖数: 2397 | 25 我看到 The Number Sense by Stanislas Dehaene 书里有一节讲the cost of
speaking English,先举了个例子:
读出下面一串数字,4,8,5,3,9,7,6,闭上眼睛花20秒时间记住它们,然后复述
。如果母语是英语,有50%可能失败,如果是中文,"success is almost guaranteed"。
中文的 Memory span 是9个数字,英文是7个,广东话可以达到10个。
后面还有小孩数数的例子,四岁的中国小孩平均可以数到40,美国小孩“painfully
counted up to 15”。美国小孩跟中国小孩数到12都没问题,13以上美国小孩就开始遇
到困难了。中文里的十进制比较简单,而英文里要学1-10,11-19,十位的20-90。美国
小孩数数可能会数出“twenty-eight, twenty-nine, twenty-ten,twenty-eleven”来
。 |
|
s******u 发帖数: 4 | 26 我还记得很清楚,我没上幼儿园之前(五或者6岁),我哥哥问我手指有几个手指头,
我数不过来。
初中碰到一个物理老师开启了我的兴趣;高一物理老师就本科刚毕业,同年龄段,跟哥
们一样跟我们晚上一起熬夜看世界杯,
结果,我的数学物理,初中,高中,大学,一直顶尖。
以上的个例说明,数学好坏跟5岁会不会做2+3没关系。
到了美国,看的文章,数学推导基本看不懂。研究靠的是高屋建瓴的嗅觉,会算算术对
此没帮组。
这个个例说明,会算算术对搞研究都没啥用。
什么是有用的呢?
1)问2+3为什么等于5?在平行世界2+3=4怎么办,世界会怎么样子
2)算术的起源,类人猿打猎时是否需要数的概念,比如猎一直猛犸需要多少壮汉
3)为什么默认为十进制
4)数是发明的还是发现的?问得宗教一点,神给的还是人自己figure out |
|
w*********e 发帖数: 383 | 27 用英文学乘法口诀,实在是比中文低效太多了。小朋友除了一遍遍地死记硬背,还可以
用其他的方法。在Youtube上有很多用手指学6,7,8,9的乘法表,但是我最喜欢这个视觉
方法:
http://www.youtube.com/watch?v=mXLzLhfJgxM
5个圆上面各有10个点,代表十进制。5个图案,顺时针走,逆时针走,正好是1-9的乘
法结果。简单的乘法,可以有这么美丽的表象。1和9,2和8,3和7,4和6,这些数字组
各合用一个圆,相同的轨迹,但是走向不同,体现了数字之间微妙的关系。数学是神奇
美丽的,这个概念对女孩子尤其更重要。 |
|
w*********e 发帖数: 383 | 28 以前没见过这种方法。觉得用这种方法学十进制的乘法口诀挺好的,尤其对启蒙小朋友。 |
|
s**n 发帖数: 6126 | 29 谁说中文逻辑严密的。。。
中文做算术确实很好
十进制的规律非常清楚
但是语言本身,因为中文的词语涵义非常丰富
对描述数学概念反而不利,容易产生歧义
这点上,我觉得英语是占了优势的
念书时候用的数学课本,英语的比中文的要清楚 |
|
l******1 发帖数: 141 | 30 从国内扛过来两个小算盘,让孩子玩。
对于认识十进制的进位很有帮助。
现在小孩(四岁多)用10为单位地不断进位,往上数,可以一直数到一千亿。没有算盘
就很难想象这样的进位。 |
|
t*******r 发帖数: 22634 | 31 这两个例子说明数学概念并不单纯由语言能力获得。语言是一维空间的序列,
高维空间的拓扑/图像能力通过日常其他经验获得,比如 chess 等等。。。
这两个例子同时说明内心的数学计算并不依赖自然语言,比如 14+8。。。
如果是英语思维,脑子里想的其实是“one four plus eight”,如果
是中文思维,想的其实是“一四 加 八”。但是由于存在十进制还是十六进制
的问题,脑子里还需要想一个进制,这个进制并不在序列的顺序上,而是
在另一个维度上,定义整句话。
更复杂点的例子:0x14 + 23 = ? |
|
X****r 发帖数: 3557 | 32 这些都是中学里的吧。
小学里算术我有印象的几个:
(1)无限循环小数的性质和运算:触发了对有限和无限的思考,e.g. 0.9999... = 1
(2)非十进制数的运算:意识到数是独立于具体数字表达的东西。
是: |
|
t*******r 发帖数: 22634 | 33 你的(1)好像是大学微积分的概念,不过那个好像不是坎。也就是说更侧重
知识而不是能力。
你的(2)好像是大学计算机课程的进制概念,不过这个貌似也不是坎,同样
的意思,是知识而不是能力。
坎的意思,就是能力重于知识,比如立体几何,其实从某种意义上说,立体
几何根本不需要学,平面几何加一个维度即可。。。但是很多人的坎在于,
平面几何你可以直接在草稿纸上画实物,立体几何你在草稿纸上再怎么画,
都只是个示意图。需要的是从两维 construct 三维的能力。没有这个能力,
找不到三维辅助线/辅助面,肯定悲催。。。
非十进制这种东西,其实也就是小学生就能掌握,只不过娃不需要那么早掌握
而已。举个例子,你拿十六进制去考码工和非码工,差别不大。。。。
但是你如果去考图论里面的算法。。。拓扑空间。。。或者 pattern
matching / generation。。。符号空间。。。 |
|
X****r 发帖数: 3557 | 34 我指的当然并不是这两样东西本身,而是他们背后的数学和逻辑概念,是一种
更高一层次的抽象能力。比如无限是有用但是难以掌握的概念,并不是可以直
接作为知识学到的,而是要抛开日常的经验用数学思维来体会的。而非十进制
所揭示的指与所指之间的剥离以及数学概念的客观实在性,是认识论的重要部
分。 |
|
y***r 发帖数: 458 | 35 单说从5+6变成1+4+6,需要孩子建立起加法结合律,数的分解和十进制的概念。
这不是我把公式列出来,然后让孩子照猫画虎算2+5+5这么简单地快速运算。
如果家长或者老师会教,有一部分孩子在掌握了数的分解和the magic of ten之后,有
可能自己发现5+6到1+4+6的变化,结合律有点早,但某些孩子可以碰出来,虽然未必理
解那么深。
对这个过程的控制,最好是在孩子对数的分解和凑十内化之后,再引入。所谓内化,就
是孩子能够自如地运用这两个工具,不再需要重组运算过程。只有到这个程度,孩子才
准备好学习5+6的“快速运算”。
而且我再强调一下,这种思路只是一个例子,如果仔细观察孩子,给孩子时间去玩数字
,会发现有家长想不到的思路的。我们已经固化了,他们却可以尝试我们根本想不到的
方向。有的绕点远路,有的很有创意,有的孩子未必能表达清楚,但最宝贵的是这个探
索的过程,而不是简单的把5+6算对。
我不关心谁教,我只关心是不是有可取之处。这里教学最大的可取之处是,留给孩子很
多内化的时间,当然有的时候家长不推的话,会太松了。但还是那句话,自己的事情自
己的目标,别人都是外力,看自己怎么用... 阅读全帖 |
|
a*****g 发帖数: 19398 | 36 从数学的角度来说,进制就一个基本的要求——严密的逻辑。
目前严格10进制的语言(文化)主要就是东亚国家
(我认为都受中华文化影响。)
有个例外的,就是太平洋上有两个岛国的语言也是严密的10进制。
其他的国家,基本上都是五花八门的不严谨的进制。
如果仅仅是在自然数范畴内,
10进制、12进制、16进制、20进制、60进制都可以的。
而且,我觉得12进制、16进制都比10进制更加的实用。
但是后来主流确定成了10进制之后,其他进制的弊端就开始暴露出来了。
比如 Welsh 语,是非常严格的20进制,用来数整数都完全没问题的。
但是,小数是基于10进制抽象出来的,这下子讲 Welsh语的人全都抓瞎了。
以至于它们后来发明创造了新的语言,就是参考东亚文化的十进制。
这种语言和原来的语言并存,但是越来越得到广泛的使用。
这也是我斗胆提出 Math English 的一个依据。
e.
地上,怀善还是怀恶,并不难区别” |
|
m*****8 发帖数: 4059 | 37 恩,我也觉得十进制和手指头有关哈哈
十六进制也很多见,我觉得是跟对半分容易实现有关的。
★ 发自iPhone App: ChineseWeb 7.7 |
|
X****r 发帖数: 3557 | 38 我们那边的方言也是用廿的。从实用的角度来看一个常用的量显然是单字比双字更方便。
要从数学的角度讲,十进制本身就是artificial的,没有什么重要性。从孩子发展的角
度讲,算术能力本身也是无关紧要的。 |
|
X****r 发帖数: 3557 | 39 这个算是简单的了,英国当年那个币值才叫复杂,
Sovereign -> Crown -> Half Crown -> Florin ->
Shilling -> Sixpence -> Threepence -> Penny
分别为
240:60:30:24:12:6:3:1
我很怀疑以前的英国人不是用十进制心算的,已经把十二进制内化了。 |
|
t*******r 发帖数: 22634 | 40 考虑到人脑记忆二十六个字母没有任何问题,英文的 thirteen / fifteen 这种
token 的使用也没啥问题,看来对人脑最友善的进制可能是选最小的三个素数的乘积?
也就是 2x3x5 = 30?三十进制?
不过自从计算机出现以后,这个问题已经没有任何实际意义了。简单重复脑力劳动是
计算机的事了。。。算术depot前的老墨已经用处不大了。。。 |
|
i*******t 发帖数: 499 | 41
这还能晕?
不过同意这个没意义。只比背园周率的十进制的小数3.14后面的数字有用一点点。 |
|
p**s 发帖数: 2707 | 42 看来你不懂什么是十进制,虽然确实是小儿科的玩意儿。 |
|
n***p 发帖数: 7668 | 43 比如说“二十三”,就是用“十”这个后缀来表明这个“二”是在“十位上”,来
表明是两个“十”。 Twenty-three 是同样的道理。难道不是么?
当然了,thirteen, fourteen, etc. 如果改成teen-three, teen-four,
etc.就是完全的十进制的跟中文一模一样的表达了。其实又是多大点事呢? |
|
p**s 发帖数: 2707 | 44 那么thirteen, fourteen, fifteen,sixteen, seventeen, eighteen, nineteen根本就
是非常规则的十进制。 |
|
p**s 发帖数: 2707 | 45 看来你不懂什么是十进制,虽然确实是小儿科的玩意儿。 |
|
n***p 发帖数: 7668 | 46 我当然知道从九到下一个的时候都有一个坎,我想说的是,甭管是英语
还是汉语,那个坎其实很容易迈过去。
天才儿童们,天生会十进制数数,就没有这么个坎。当然也不排除有些人
一辈子也迈不过去。 |
|
a*****g 发帖数: 19398 | 47 我来破哏吧——"10"可以理解是二进制,就等于十进制的二。 |
|
b******o 发帖数: 409 | 48 你娃这么聪明,我倒建议你少教他。多提些问题让他自己去想,对错不重要,关键是思
考的过程,这要比他提前被动学知识重要。比如十进制的位的含义。如果是二进制,3
怎么写。开始他一定糊涂。也没必要强推。等一个月再问。半年后再问。他如果能在小
学毕业想通这个问题,比加减乘除牛多了。mrA |
|
k******b 发帖数: 4501 | 49 这个要看教育的对象是谁和目的是什么了。
如果是教育小小孩理解十进制和百位,十位,个位的含义,这个教具很直接了当啊。 |
|
E*********e 发帖数: 10297 | 50 可是我说的是十进制,二进制,八进制,十六进制之类的呀
你小时候学的这些进制之间的互相转换,加减?
而且这个也不是美国小学内容,是初中七八年级的
所以我才问楼主是不是base属于number theory的内容?
当然我问这个问题是想判断楼主的孩子多大
我好奇她homeschooling部分 |
|