Даны натуральные числа А1, А2, …, Аn. Признак конца последовательности 0. Определить (A2-A1)*(A3-A2)*.....*(An-A(n-1)). Цикл с пред условием на языке c#
Консольное приложение: using System; public class Test { public static void Main() { int a, an; int p=1; Console.Write("a = "); a = int.Parse(Console.ReadLine()); Console.Write("a = "); an = int.Parse(Console.ReadLine()); while (an != 0){ p = p*(an-a); a = an; Console.Write("a = "); an = int.Parse(Console.ReadLine()); } Console.Write("p = "+p); } } Пример: a = 2 a = 5 a = 8 a = 4 a = 0 p = -36
а еще вывод результата не работает
Что именно требует объяснения?
while (an != 0){ p = p*(an-a); a = an;
и как это понимать
Пока очередное введенное число не равно 0 (while (an != 0)), вычислять произведение (p = p*(an-a)) и сохранять последнее введенное число в переменной a (a = an), чтобы его значение не пропало при вводе нового an
спасибо большое
Пожалуйста
а зачем мы умножаем на р?
А затем, что нужно найти произведение (n-1) сомножителей. На 1 шаге p=(a2-a1), на 2-м p=p*(a3-a2), т.е. получится, что p=(a2-a1)*(a3-a2) и т.д.
еще раз спасибо большое