Re: [問題] 不要用*跟+ 來完成乘法

看板C_and_CPP作者 (呦呦羔羊)時間13年前 (2011/02/28 20:17), 編輯推噓8(8016)
留言24則, 14人參與, 最新討論串3/4 (看更多)
※ 引述《ami9897 (小新)》之銘言: : How do you want to get the result of multiplication by 15 without using * : (multiply operation) and + (plus operations). : 這是今天小弟在網路上看到一間公司的考試題目 到現在都還沒有想出辦法 : 於是想請教大家 不知是不是有什麼好的解決方法 我覺得前面幾位所提出的構想不能算對的。 因為題目中並沒有指名input是int的資料型態。 而只有在input是int的情況下我們才能夠使用>>、<<等運算子。 不過,如果規定只是不能使用*和+的話,我想出一個跟前面不同的解法XD 大家看看就好,不要太認真XD for(i=0,ans=0;i<a;i++) { for(j=0;j<15;j++)ans++; } return ans; ++我記得不能算是加法運算喔~我記得他應該算位元運算XD -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 118.168.184.222

02/28 20:18, , 1F
為什麼++算是位元運算??
02/28 20:18, 1F

02/28 20:26, , 2F
我也記得以前有遇過類似的問題,用 increment 沒錯
02/28 20:26, 2F

02/28 20:28, , 3F
++ 似乎不算位元運算子 http://tinyurl.com/68qhnw4
02/28 20:28, 3F

02/28 20:30, , 4F
好啦~反正他不是題目上講的'+'就對了XD
02/28 20:30, 4F

02/28 20:31, , 5F
而且++運算原理跟+不一樣,++的速度比+快。
02/28 20:31, 5F

02/28 20:47, , 6F
*15 是自己加自己15次不是 ans++ 吧 = =
02/28 20:47, 6F

02/28 20:48, , 7F
喔喔 是14次
02/28 20:48, 7F

02/28 21:35, , 8F
小弟覺得吊詭的地方在於,若考慮只為整數型態的確 <<
02/28 21:35, 8F

02/28 21:35, , 9F
不能用,但++似乎也不能用吧 XD
02/28 21:35, 9F

02/28 22:06, , 10F
那就改成 -(-1) 吧XD
02/28 22:06, 10F

02/28 22:13, , 11F
樓上GJ.XD Ans=-(-input)-(-input)-... 15次XD
02/28 22:13, 11F

03/01 00:25, , 12F
五樓答案不一定 要看硬體
03/01 00:25, 12F

03/01 00:26, , 13F
假如是arm的話我記得++真的就只是+1
03/01 00:26, 13F

03/01 01:39, , 14F
題目是認真的... 不是腦經急轉彎...
03/01 01:39, 14F

03/01 02:17, , 15F
我是覺得要考位元運算就用位元運算的題目來考, 這種題目
03/01 02:17, 15F

03/01 02:17, , 16F
被拿來腦筋急轉彎也只是剛好而已
03/01 02:17, 16F

03/01 02:37, , 17F
可能上個版本他寫"高效率"結果沒人答出他要的答案
03/01 02:37, 17F

03/01 03:09, , 18F
寶貝.. ++ 只有整數能用 = =
03/01 03:09, 18F

03/01 06:02, , 19F
我漏掉「如果是整數這句了= ="」
03/01 06:02, 19F

03/01 07:12, , 20F
sorry! ++ 也適用於 浮點數喔
03/01 07:12, 20F

03/01 08:29, , 21F
一個是 inc 一個是 add 嗎?
03/01 08:29, 21F

03/01 08:29, , 22F
add ..., 1 比 inc ... 快...
03/01 08:29, 22F

03/01 19:28, , 23F
哈哈哈!! yoco 嫩翻了還裝高手勒 XD 北七!!!
03/01 19:28, 23F

03/01 19:30, , 24F
= __ =
03/01 19:30, 24F
文章代碼(AID): #1DQv9Zx0 (C_and_CPP)
文章代碼(AID): #1DQv9Zx0 (C_and_CPP)