gpt4 book ai didi

c - 分区例程

转载 作者:行者123 更新时间:2023-11-30 19:12:44 25 4
gpt4 key购买 nike

我一直在尝试用整数进行简单的除法。使用一系列减法并尝试使用递归。想象一下使用一台只能使用加法和减法的计算机。我已经创建了乘法和指数,但我在除法方面遇到了最困难的时期。任何帮助或建议都会大有帮助!

#include<stdio.h>

int DIV(int m, int n){
if(m == 0){
return 0;
}
else if(n == 0){
return -1;
}
else if( n == 1){
return m;
}
else if(m > 0 && n > 0)
return DIV(m, n-1) - m;
} //exit

这是我到目前为止的代码,只需要有关结束语句的帮助。另外,int m 是分子,n 是分母。顺便说一句,我正在使用 GNU C。

最佳答案

你想要:

else if (m < n)
return 0;
else
return 1 + DIV (m-n, n);

但是,如果您希望此代码实际在资源有限的计算机上运行,​​则应该将其实现为 while 循环。也许(省略错误检查和负数处理):

int div (int num, int den)
{
int ret = 0;
while (num > den)
{
num -= den;
ret++;
}
return ret;
}

关于c - 分区例程,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36538158/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com