По
заданному натуральному числу n
вычислите сумму
Вход. Одно
натуральное число n (n ≤ 1000).
Выход. Выведите
сумму с 6 десятичными знаками.
Пример входа 1 |
Пример выхода 1 |
5 |
0.833333 |
|
|
Пример входа 2 |
Пример выхода 2 |
12 |
0.923077 |
циклы
Вычислим указанную сумму при помощи цикла.
Вычислим указанную сумму математически:
= =
Теперь для нахождения ответа можно воспользоваться
формулой.
Реализация алгоритма
Читаем
входное значение n.
scanf("%d",&n);
В переменной i
перебираем числа 1, 2, 3, …, n. На
каждой итерации к результирующей сумме s
прибавляем значение 1 / (i * (i + 1)).
s = 0; i = 1;
while
(i <= n)
{
s += 1.0 / i / (i+1);
i++;
}
Выводим искомую сумму.
printf("%lf\n",s);
Реализация алгоритма – цикл for
scanf("%d",&n);
Искомую сумму
вычисляем в переменной
s.
s = 0;
При помощи
цикла вычисляем значение суммы, состоящей из n слагаемых. i-ое
слагаемое равно 1 / (i * (i + 1)).
for (i = 1; i <= n; i++)
s += 1.0 / (i * (i+1));
Выводим
искомую сумму.
printf("%.6lf\n",s);
Реализация алгоритма – формула
scanf("%d", &n);
Вычисляем ответ по формуле и выводим его.
s = 1 - 1.0 / (n
+ 1);
printf("%.6lf\n", s);
Java реализация
import java.util.*;
class Main
{
public static void main(String[] args)
{
Scanner con = new
Scanner(System.in);
int n = con.nextInt();
double s = 0;
for(int i = 1; i <= n; i++)
s += 1.0 / (i * (i+1));
System.out.printf("%6f\n", s);
con.close();
}
}
Python реализация
Читаем входное значение n.
n = int(input())
Искомую
сумму вычисляем в переменной
s.
s = 0;
При помощи
цикла вычисляем значение суммы, состоящей из n слагаемых. i-ое
слагаемое равно 1 / (i * (i + 1)).
for i in range(1, n+1):
s += 1.0 / (i * (i + 1));
Выводим
искомую сумму.
print(s)