Можешь "включить" подробный вывод, если объявишь макрос "#define DEBUG"
using System; using System.Collections.Generic; using System.Linq; using System.Text; namespace cool{ class main { static void Main(string[] args) { int u1 = 1, u2 = 2; int l1 = 1, l2 = 1; double a = 0, eps = 0.001; int i = 2; int U, L; double A;
U = u2 + u1; L = l2 + l1; A = (double)U / L;
while (Math.Abs(A - a) > eps || i < 5) { a = A; i++; l1 = l2; u1 = u2; l2 = L; u2 = U;
U = u2 + l2; L = l2 + l1; A = (double)U / L;
#if DEBUG Console.WriteLine("{0} -> {1}|{2}", i, U, L); #endif if (i == 5) Console.WriteLine("Пятый элемент: {0}", A); if (Math.Abs(A - a) < eps) Console.WriteLine("Элемент, отличающийся на менее чем {1}: {0}", A, eps); } } } }
1. Для цикла For есть решение выложенное выше от Srzontmp.
2. Почти ничего не меня получим код для цикла while: var i, n, k: integer; begin i := 2; readln(n); while i <= n div 2 do begin if (n mod i) = 0 then k := i; i:=i+1; end; writeln('наибольший делитель ', n, ' = ', k); end.
3. Аналогично для цикла Repeat: var i, n, k: integer; begin i := 2; readln(n); repeat if (n mod i) = 0 then k := i; i:=i+1; until i> n div 2; writeln('наибольший делитель ', n, ' = ', k); end.
0,0(0 оценок)
Полный доступ
Позволит учиться лучше и быстрее. Неограниченный доступ к базе и ответам от экспертов и ai-bota
Оформи подписку