我是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 :(得分:0)
它是一个将整数转换为特定基数的递归函数。例如,riddle(40, 2)
会返回10100
,因为:
40 in decimal is, 10100 in binary
按照n
除以b
并将其提醒放入结果的顺序工作。该函数将结果作为字符串返回,当n
大于b
时,它会起作用。