Mail.ruПочтаМой МирОдноклассникиВКонтактеИгрыЗнакомстваНовостиКалендарьОблакоЗаметкиВсе проекты

Как решить проблему?

Ренат Нугманов Знаток (351), закрыт 4 года назад
Почему у меня цикл работает бесконечное число раз, в локальных можно увидеть, что он увеличивается до 72 миллионов?
Лучший ответ
Андрей Высший разум (425166) 4 года назад
Если ты нормально сократишь свою дробь, то получишь выражение:
pow(x, i + 1.0) / (i + 1.0) >= E

И этот ряд сходится ТОЛЬКО при -1 <= x < 1
при x == 1 получаем расходящийся гармонический ряд (впрочем, условие >= E будет достигнуто).

А при |x| > 1 значение pow(x, i + 1.0) / (i + 1.0) при увеличении i будет РАСТИ и потому условие продолжения цикла будет выполняться ВСЕГДА.

P.S. И даже если будет pow(x, i + 1.0) / pow(i + 1.0, 2.0), ситуацию это никак не изменит: x ** i растёт быстрее, чем i ** 2.
Остальные ответы
GunGSta Мыслитель (6218) 4 года назад
преврати 72 миллиона в рубли
Редис Александрович Оракул (76886) 4 года назад
Напиши заяву на него в ментовку, за мощеничество в особо крупных размерах
Elepsis Eclipse Гений (64066) 4 года назад
i = 1; a = ( (i + 1)*pow....

А это вот что? Этот язык не знаю, но там вроде должно быть

i = 1; i < число; i++

и это "число" останавливает цикл...
mchep Мудрец (13439) 4 года назад
потому, что у тебя в качестве условия прекращения работы цикла указано присвоение "=", которое всегда будет правдой. for(присваешь переменные через запятую ; когда мы кончим; че сделать после итерации) у тебя на "когда мы кончим" стоит присвоение а=какая-то формула. это условие всегда труевое
Похожие вопросы