2014-12-07 52 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