А114е

Задача. Вычислить [latex]\prod_{i=1}^{10}{(2+\frac{1}{i!})}.[/latex]

По условию [latex]i[/latex] у нас изменяется от [1; 10], но, чтобы полностью убедиться, что программа правильно работает, изменим интервал, на котором изменяется[latex]i[/latex], к примеру [1; n].

Тест

i f p (wolframalpha)
1 1 3
2 2 7.5
3 6 16.25
4 24 33.17708
5 120 66.630635
6 720 133.3538125486111
7 5040 266.7340841820129 
8 40320 533.4747839927034
9 362880 1066.951038098899
10 3628800 2133.902370220902

Код программы на языке С++ :

Ссылка на код программы: http://ideone.com/DEEFJd
Решение задачи сводится к нахождению произведения [latex]p[/latex]. Присваиваем [latex]p = 1[/latex], [latex]f = 1[/latex]. Далее фиксируем значение [latex]i[/latex]:

Анализируем, [latex]f [/latex] увеличивается в зависимости от [latex]i[/latex], следовательно:

Следующим шагом будет вычисление искомого произведения — каждый последующий член вычисляем и умножаем на предыдущий:

Получаем ответ.

Код программы на языке Java:

Ссылка на программу: http://ideone.com/JzB87V

Related Images:

3 thoughts on “А114е

  1. Почти хорошо.
    — Одно маленькое замечание — неправильный отступ в 13-й строке.
    — И одно большое — все тесты кроме первых двух обман. Вместо тестов рассчитанных в wolframalpha.com (или в каком-либо другом пакете) Вы просто указали результаты работы Вашей программы. Результаты, конечно, отличаются не очень сильно. Но вполне достаточно, чтобы обман обнаружился. Зачем это делать? Оставили бы первые два и то лучше было бы.
    Что делать?
    — Сосчитайте для 5, 10, 13 и 17 в wolframalpha.com.
    — Поставьте отступ.
    — Примите решение никогда не обманывать преподавателей если Вам это невыгодно.

  2. — Что означает «пройдено»? Ваша программы выдаёт на печать эти числа? Это же не правда.
    — Вы сосчитали в wolframalpha.com не произведение, а только последний сомножитель.
    — Лучше использовать double вместо float.
    — Счётчик цикла (i) лучше сделать целочисленным.
    — Отступы.

Добавить комментарий