0

値からdimension値に変更したい変数があるとしましょう。 およびは整数であり、最初の値は2番目の整数よりもメジャーです。abab

これを直線的に行うには、次のことを行う必要があります。

while (dimension < a)
dimension = dimension + 1

しかし、指数関数的に成長させたい場合はどうなりますか?私は完全に数学が苦手で、これを理解することはできません。やってみた:

while (dimension < a)
dimension = dimension * dimension

重要なのは、値がほとんどすぐに制御不能になり、巨大になることです(よりもはるかに大きくなりaます)

(巨大な値に設定して)巨大なスケールを使おうとしても、aこれはできません...それでも、彼らはそれをやったようで、それも簡単なはずです!

彼らはまた、私が1つだけを実装できれば、すべての種類のクレイジーな方程式で同じことを行うことができます。

値を1から2に増やしたいだけですが、徐々に...

誰かが助けてくれることを願っています、ありがとう!

4

1 に答える 1

1

これを行う非常に簡単な方法の1つは、反復ごとに少しずつインクリメントされる2番目のカウンターを用意し、それを元のカウンターで乗算して設定することです。例、あなたの場合:

step = 1.2;

while(dimension < a) {
    dimension = Math.max(dimension * step, a);
    step += 0.1;
}

正確に望ましい効果を得るには、おそらく値を微調整する必要がありますが、それが一般的な考え方です。Math.maxを呼び出すと、値が目標を超えないようになります。

于 2013-02-15T01:59:19.713 に答える