GNU bcを使ってx + 3 = 40という方程式を解いてみたいとします。私がこれを行うことができる1つの方法は、正しい答えに達するまで、0が解決策であるかどうかを確認してから1を確認することから始めることです。 (代数を行うには明らかではない最良の方法が、まあいい。)だから私はGNU bcのに次のコードを入力します。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文のインスタンスがfalseであるように見えますが、ゼロが表示されないようにするにはどうすればよいですか?私はより複雑な関数を解決し、より複雑な数のリストを作成するためにGNU BCを使用しています。だから、すべてゼロをソートするのは実際には実用的ではありません。私はまだ何も考え出していないので、どんな助けもありがたいです。