演算法搜狗筆試題加減法
一種計算機,其有如下原子功能:
1、賦值 a=b
2、+1操作,++a; a+1;
3、迴圈,但是隻支援按次數的迴圈 for(變數名){/*迴圈裡面對變數的修改不影響迴圈次數*/}
4、只能處理0和正整數
5、函式呼叫 fun(引數列表)
請用虛擬碼的形式分別在這個計算機上程式設計實現變數的加法、減法、乘法。
fun_add(a , b)
{
}
fun_multi(a , b)
{
}
fun_minus(a , b)
{
}
問題的關鍵在於如何實現自減一操作。
本來讓-1自增n次即可實現n的自減的,但系統偏偏又不支援負數。
1、賦值 a=b
2、+1操作,++a; a+1;
3、迴圈,但是隻支援按次數的迴圈 for(變數名){/*迴圈裡面對變數的修改不影響迴圈次數*/}
4、只能處理0和正整數
5、函式呼叫 fun(引數列表)
請用虛擬碼的形式分別在這個計算機上程式設計實現變數的加法、減法、乘法。
fun_add(a , b)
{
}
fun_multi(a , b)
{
}
fun_minus(a , b)
{
}
問題的關鍵在於如何實現自減一操作。
本來讓-1自增n次即可實現n的自減的,但系統偏偏又不支援負數。
- fun_add(a , b)
- {
- result = a;
- for(b)
- ++result;
- return result;
- }
- fun_muti(a , b)
- {
- result = 0;
- for(b)
- result = fun_add(result , a);
- return result;
- }
- dec(int n)
- {
- temp = 0;
- result = 0;
- for(n)
- {
- result = temp; //result永遠比temp少1,巧妙地減少了一次自增
- ++temp;
- }
- return result;
- }
- /*
- 上面的dec這段函式程式碼執行後,result的值將變為n-1。注意到這段程式碼在自增時是如何巧妙地延遲了一步的。
- 現在,我們相當於有了自減一的函式dec。實現a-b只需要令a自減b次即可
- */
- fun_minus(a , b)
- {
- result = a;
- for(b)
- result = dec(result);
- }
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/29012686/viewspace-1149843/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- JS 加減乘除 尤其是減法精度問題JS
- 浮點數加減法
- 筆試程式碼題--搜狗--汪仔做對的題數範圍筆試
- 20201014:演算法題+筆試題演算法筆試
- IC學習筆記(一)——Verilog加減法及四捨五入筆記
- Ubuntu 18.04安裝搜狗輸入法筆記Ubuntu筆記
- 筆試演算法題總結筆試演算法
- [每日一題] 第六題:不用加減乘除做加法每日一題
- 哈羅出行演算法崗筆試題演算法筆試
- 攜程演算法筆試題知識點演算法筆試
- 聯洲筆試題-通訊演算法崗筆試演算法
- win10 ctrl加空格怎麼不能切換搜狗輸入法解決方法Win10
- 寫給自己看的面試題整理-演算法&某東筆試題面試題演算法筆試
- ABAP面試問題 - 不使用加減乘除等操作比較兩個整數大小面試
- 高精度加減乘
- golang 時間加減Golang
- Steam好評率83%,如何在DBG玩法中做加減法
- ubuntu 搜狗輸入法異常Ubuntu
- 減治法解決假幣問題
- 【oracle】日期加減計算Oracle
- shell加減乘除運算
- Elementary OS 使用fcitx安裝搜狗詞庫、搜狗輸入法(Ubuntu通用)Ubuntu
- 搜狗輸入法在Linux Mint系統上的問題總結Linux
- [Linux Mint]安裝搜狗輸入法Linux
- Linux下安裝搜狗輸入法Linux
- C++筆記:輸入輸出、變數、變數加減乘除C++筆記變數
- 做減法
- Kafka詳細教程加面試題Kafka面試題
- HTML最新面試題(筆試面試題)HTML面試題筆試
- 利用Python自動生成小學生加減乘除口算考試題卷,不再為手寫算術題煩惱!Python
- Python 筆試 面試題Python筆試面試題
- 提煉SLG的“決策觀”,《三國志14》做了哪些“加減法”
- BAT 經典演算法筆試題: 映象二叉樹BAT演算法筆試二叉樹
- BAT 經典演算法筆試題 —— 磁碟多路歸併排序BAT演算法筆試排序
- 前端筆試題面試題記錄前端筆試面試題
- linux 最後一個沒有依賴問題的搜狗輸入法Linux
- JavaScript加減乘數運算JavaScript
- 79 不用加減乘除做加法
- Ubuntu14.04 安裝搜狗輸入法Ubuntu