решить задачу c++ 2. Задача 3n+1
На вход программе подается целое положительное число n. Если оно четное, делим на 2, если нечетное, то умножаем на 3 и прибавляем 1. С полученным числом делаем то же самое и так далее, пока не получим 1 (есть математическая недоказанная гипотеза Коллатца, которое утверждает, что при любом начальном числе всегда когда-нибудь да получится единица). Вам надо вывести последовательность всех промежуточных результатов до единицы.
ввод: 5
вывод: 5 16 8 4 2 1

ввод: 7
вывод: 7 22 11 34 17 52 26 13 40 20 10 5 16 8 4 2 1

ввод: 2
вывод: 2 1

ввод: 1
вывод: 1

3.Таблица чисел
Выведите все нечетные числа от 1 до 100, по 10 штук в каждой строке, разделенные пробелами.

У этой программы нет входа. Выход выглядит примерно так:
1 3 5 7 9 11 13 15 17 19
21 23 25 27 29 31 33 35 37 39
41 ...

4. Ввести натуральное число N и посчитать сумму первых N членов последовательности 1/(k!), где k=1,2,...,N
ввод: 1
вывод: 1

ввод: 10
вывод: 2.718281526

ввод: 20
вывод: 2.718281828

требование: написать и использовать функцию для вычисления факториала.
требование: включите header file (заголовочный файл) iomanip и написать следующую строку(до вывода результата): std::cout << std::setprecision(10);

Боженька206 Боженька206    1   05.03.2021 11:47    0

Ответы
Sofiamarfiya Sofiamarfiya  04.04.2021 11:50

Задание 2.

#include <iostream>

using namespace std;

int main()

{

   setlocale(LC_ALL, "rus");

   

   int n;

   cin >> n;

   while(true)

   {

       cout << n << " ";

       if (n == 1)

       {

           break;

       }

       else if (n % 2 == 0)

       {

           n /= 2;

       }

       else if (n % 2 == 1)

       {

           n *= 3;

           n++;

       }

   }

   cout << endl;

   return 0;

}

Задание 3.

#include <iostream>

using namespace std;

int main()

{

   setlocale(LC_ALL, "rus");

   for (int i = 1; i < 100; i++)

   {

       cout << i << " ";

       if (i % 20 == 19)

       {

           cout << endl;

       }

   }

   return 0;

}

Задание 4.

#include <iostream>

#include <iomanip>

using namespace std;

int factorial(int n)

{

   if (n == 1)

   {

       return 1;

   }

   return n * factorial(n - 1);

}

int main()

{

   setlocale(LC_ALL, "rus");

   

   int N;

   cin >> N;

   double sum = 0;

   for (int i = 1; i <= N; i++)

   {

       sum += 1.0 / factorial(i);

   }

   cout << setprecision(10);

   cout << sum << endl;

   

   

   return 0;

}

Объяснение:

ПОКАЗАТЬ ОТВЕТЫ
Другие вопросы по теме Информатика