【发布时间】:2017-06-10 18:22:51
【问题描述】:
假设我想使用 GNU bc 求解方程 x + 3 = 40。我可以做到这一点的一种方法是首先检查 0 是否是一个解决方案,然后检查 1,依此类推,直到我得到正确的答案。 (显然不是做代数的最好方法,但是很好。)所以我在 GNU bc 中输入了以下代码:
int solver(int x);
define solver(x){
if(x + 3 == 40) return x;
x = x + 1;
solver(x)
}
solver(0)
它产生 37——当然是正确的答案——但是 37 后面跟着 37 个零。根据一些实验,似乎每个零都来自 if 语句为假的一个实例,但是如何防止零出现?我正在使用 GNU bc 来解决更复杂的函数并创建更复杂的数字列表,因此对所有零进行排序对我来说确实不切实际。任何帮助将不胜感激,因为我还没有弄清楚任何事情。
【问题讨论】:
标签: bc