闲来无事,做了一道面试题:100位数字相乘

czhenq 2006-08-30 09:08:30
昨天朋友给我出了一道题,说是怎么实现100位数字相乘?
据说这是微创的面试题目.
花了一个晚上终于弄出来一个实现方式.实现了加、减、乘、除.
其中以除的效率最低,暂时还没想到更好的办法.等想到了在更新吧.
算算前后花了大约6、7个小时,如果在面试中碰见这种题目那可如何是好啊.

具体的代码我贴在Blog上了,有兴趣的看看,批评下.^_^

http://www.cnblogs.com/czhenq/archive/2006/08/30/489956.html
...全文
3940 86 打赏 收藏 转发到动态 举报
写回复
用AI写文章
86 条回复
切换为时间正序
请发表友善的回复…
发表回复
addwing 2006-09-04
  • 打赏
  • 举报
回复
关注,帮你顶!
阿牛138588 2006-09-03
  • 打赏
  • 举报
回复
移位...小学4年级学的问题。很简单,楼主用6,7个小时是因为第一次碰到这个问题,如果是第二次,可能10分钟内就可搞定了
yf1025 2006-09-02
  • 打赏
  • 举报
回复
看看去
daishengs 2006-09-02
  • 打赏
  • 举报
回复
以前是学过,不过现在还真记不起来了,唉一般我们这样的公司不会碰到这样的问题的。
LANXUEFEI 2006-09-02
  • 打赏
  • 举报
回复
up
renmasheshou 2006-09-02
  • 打赏
  • 举报
回复
这个微软出C#的???大整数,好像大学都要做的~
不过偶忘记了...
laidon 2006-09-02
  • 打赏
  • 举报
回复

以前做过高效的,好像是用二进制实现的,有时间找找以前的程序
qghboy 2006-09-02
  • 打赏
  • 举报
回复
jf
qhfrose 2006-09-02
  • 打赏
  • 举报
回复
晕了,竟然C#面试题出成这样,那是C和C++里面比较常见的。
clochase_frank 2006-09-02
  • 打赏
  • 举报
回复
用容器可以解决。
wj408 2006-09-02
  • 打赏
  • 举报
回复
上学的时候一道作业题!
突击召唤师 2006-09-01
  • 打赏
  • 举报
回复
算盘口诀?谁想出来的……天才
jointan 2006-09-01
  • 打赏
  • 举报
回复
用"算盘"的算法,当然,首要解决的是如何表示这个百位大数,现在一般有两种表示法,一种是字节,一种是字符.
所谓算盘的算法,就是,把算盘的口决,当成是一种指令,这种方法在用字符表示大数的情况下很容易实现,我普尝试用这个方法去算农历润月,但最终由于得不到需要的的常数(可能搞天文的部门才能提供,网上没这方面的资料),我的一个实现亿年历的小想法破产了.
wxwinter 2006-09-01
  • 打赏
  • 举报
回复
86782..... + 76553....... 到int数组
A{8,6,7,8,2.......} 与 B{7,6,5,5,3,.......}

A与B中的元素对应相加,不考虑进位问题

A + B 得 C{15,12,12,13,5..........}

将数组C从后向前,依次保留个位,将十位数字向前加

C{(1),6,3,3,3,5.....}

再串起来
163335

这就得到大数相加了


天鹅盘是这种算法,上例是一维数组
至于为何要存入9*N是为了如下矩阵运算,为了

求补数:(做减法,除法用)

求倍数(即矩阵*2):(做大数相乘)

12345...) * (256...) 就是12345...加(256...)次
也就是((((((((12345...)倍数)倍数)倍数)倍数)倍数)倍数)倍数) + 一个小零头
pshy 2006-09-01
  • 打赏
  • 举报
回复
mark........
Dennis_maomao 2006-09-01
  • 打赏
  • 举报
回复
up
fds2003 2006-09-01
  • 打赏
  • 举报
回复
LZ,真是好人!!
liuweihug 2006-09-01
  • 打赏
  • 举报
回复
mark一下
以后慢慢学习
AFatPig 2006-09-01
  • 打赏
  • 举报
回复
up +++++++++++++
gussing 2006-09-01
  • 打赏
  • 举报
回复
用数组模拟还是慢了点
加载更多回复(66)

110,535

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧