2014-12-07 50 views
-3

我是C++新手,在學習C++語言時遇到一些問題。下面的問題是一個函數,它計算兩個整數的字符串。從兩個整數計算字符串的函數?

string riddle (int n, int b){ 
     string s =" "; 
     s[0]=(n%b)+'0'; 
     if (n>=b) s= riddle(n/b,b)+s; 
     return s; 
} 

riddle(7,8)回到7

riddle(123,10)返回123

riddle(40,2)收益10100

riddle(100,7)收益202

誰能能詳細解釋一下我嗎?謝謝你的幫助。

回答

0

這是一個將整數轉換爲特定基的遞歸函數。例如,riddle(40, 2)返回10100因爲:

40 in decimal is, 10100 in binary 

它通過將n通過b並把它提醒在結果的順序。該函數返回結果作爲字符串,它的作用是當n大於b

+0

非常感謝。我有你的觀點 – maymui 2014-12-07 06:40:20