私はシリーズを計算したいが、do..whileループが正しくない。 ユーザは入力xを作成します。 sum = sum + x/2^nここで、nは実行変数です。Infiniteシリーズ:whileループが無限終了する
これは、合計が< = 0.00001になるまでループする必要があります。
次に、プログラムは、合計値と実行変数の大きさについてユーザーに通知します。これまで
マイコード:無限ループで
public static int n = 0;
static void Main(string[] args)
{
double x, sum = 0, e = 0.00001;
Console.Write("input x: ");
x = Convert.ToDouble(Console.ReadLine());
do
{
sum = sum + x/Math.Pow(2,n);
n++;
} while (sum >= e);
Console.WriteLine ("Sum = " + sum + ", " + n + " count");
}
しかし、私のコードの結果。私はそれを達成するためにどのようなアイディアがありますか?
合計は常にEより大きい来ているので。 –
合計が常にe – Alexan
sumより大きくなっているため、どのようにeよりも小さくなりますか?おそらく、あなたはx/2^nが 'e'よりも小さくなるまでループしたいでしょうか? – KMoussa