Recursion 一个布尔递归函数,用于判断一个数字在整数中出现的次数是否为偶数
该函数获取一个整数和一个数字,并应返回true 如果数字在整数中出现偶数次,则为false 例如: 如果Recursion 一个布尔递归函数,用于判断一个数字在整数中出现的次数是否为偶数,recursion,Recursion,该函数获取一个整数和一个数字,并应返回true 如果数字在整数中出现偶数次,则为false 例如: 如果digit=1和num=1125 该函数应返回true 如果digit=1和num=1234 函数应返回false bool isEven(int num, int dig) { bool even; if (num < 10) even = false; else { even = isEven(num/10,dig);
digit=1
和num=1125
该函数应返回true
如果digit=1
和num=1234
函数应返回false
bool isEven(int num, int dig)
{
bool even;
if (num < 10)
even = false;
else
{
even = isEven(num/10,dig);
bool-isEven(int-num,int-dig)
{
布尔甚至;
如果(数值<10)
偶数=假;
其他的
{
偶数=isEven(num/10,dig);
这就是我到目前为止得到的,我被卡住了。。。
这是家庭作业,请不要写答案,而是提示我并帮助我自己去做。要设置递归,你需要找出两件事:
我可以从您的代码中看出,您在这两个方面都取得了一些进展。但是,这两个方面都是不完整的。首先,您在代码中从未使用目标数字。表达式num%10将为您提供数字的最后一个数字,这应该会有所帮助
您的基本大小写不正确,因为一个数字可以有偶数个匹配项(零是偶数)。您的递归大小写也需要工作,因为您需要反转每个匹配项的答案。叹气…无法正确编辑代码。0不是有效输入,因为整数必须是自然数(我们从自然中排除了0)你不明白。我指的是零作为可能的匹配数,而不是输入。例如:num=1234,dig=5。dig出现零次,这是偶数。我不明白我是否应该计算出现的次数,并最终确定它是否为偶数,或者让布尔变量在每次函数我认识到数字化的工作方式。做你认为更容易正确的事情。