Задача: Вычислить [latex]\sum_{i=1}^{10}{\frac{1}{i!}}[/latex].
Ответ |
1.718282 |
C++:
1 2 3 4 5 6 7 8 9 10 11 12 |
#include <stdio.h> int main(void) { double a=1, b=0; for (int i=1; i<=10; i++) { a=a/i; b=b+a; } printf("Сумма элементов равна %lf\n", b); return 0; } |
Java:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 |
import java.util.*; import java.lang.*; import java.io.*; class Ideone { public static void main (String[] args) { double a=1, b=0; for (int i=1; i<=10; i++){ a=a/i; b=b+a; } System.out.println("Сумма элементов равна "+b); } } |
Для переменных [latex]a, b[/latex] я использовала тип double, так как они они используются для вычислений и являются вещественными числами. Для переменной [latex]i[/latex] — тип int, так как [latex]i[/latex] — это целые числа от 1 до 10.
Чтобы решить задачу, воспользуемся циклом for, который работает при [latex]1\leq i\leq 10[/latex] и каждый раз прибавляет к [latex]i[/latex] единицу. Переменную [latex]i[/latex] я объявила в цикле, так как вне цикла она не нужна.
Сначала найдём [latex]a[/latex] — элемент суммы, который зависит от выбранного [latex]i[/latex]. После сложим [latex]a[/latex] и переменную [latex]b[/latex], которая обозначает сумму предыдущих элементов, a результат запишем снова в переменную [latex]b[/latex].
Когда цикл дойдёт до 11, его условие перестанет выполняться и напечатается последнее значение, присвоенное переменной [latex]d[/latex].
Эта задача на Ideone:
C++
Java