从两个整数计算字符串的函数?

时间:2014-12-07 06:28:56

标签: c++

我是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

任何人都可以为我详细解释吗?谢谢你的帮助。

1 个答案:

答案 0 :(得分:0)

它是一个将整数转换为特定基数的递归函数。例如,riddle(40, 2)会返回10100,因为:

40 in decimal is, 10100 in binary

按照n除以b并将其提醒放入结果的顺序工作。该函数将结果作为字符串返回,当n大于b时,它会起作用。