Значение дроби можно вычислять так: начинаем с e = 0, затем обновляем значение e по формуле n / (n + e), уменьшая n, пока не получим 2 / (2 + ...). В конце прибавим к результату 2. Пример:
Все скучные операции с дробями оставим питону, пусть считает сам - у него для этого есть модуль fractions.
Знаменатели растут очень быстро - уже начиная с числа 13 знаменатель будет больше миллиарда.
#include "stdafx.h"
#include < iostream>
using namespace std;
int main(int argc, char* argv[])
{
cout < < "obrabotka massiva" < < endl;
int array1[16] = { 5, -12, -12, 9, 10, 0, -9,
-12, -1, 23, 65, 64, 11, 43, 39, -15 }; // объявление и инициализация одномерного массива
cout < < "indeks" < < "\t\t" < < "element massiva" < < endl; // печать заголовков
for (int counter = 0; counter < 16; counter++) //начало цикла
{
//вывод на экран индекса ячейки массива, а затем содержимого этой ячейки, в нашем случае - это целое число
cout < < "array1[" < < counter < < "]" < < "\t\t" < < array1[counter] < < endl;
}
system("pause");
return 0;
}
Значение дроби можно вычислять так: начинаем с e = 0, затем обновляем значение e по формуле n / (n + e), уменьшая n, пока не получим 2 / (2 + ...). В конце прибавим к результату 2. Пример:
Все скучные операции с дробями оставим питону, пусть считает сам - у него для этого есть модуль fractions.
Знаменатели растут очень быстро - уже начиная с числа 13 знаменатель будет больше миллиарда.
Код (Python 3):
from fractions import Fraction
from itertools import count
n = int(input())
for k in count(3):
e = Fraction(0)
while k >= 2:
e = k / (k + e)
k -= 1
e += 2
a, b = e.numerator, e.denominator
if b > n:
print(a, b)
break
Пример ввода:
1000000000
Пример вывода:
6706022400 2467007773