Задание 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;
}
Объяснение:
РОПОР и ТОПОР
Объяснение:
Представим что имеем дело с 4-ичной системой счисления { 0 - О, 1 - П, 2 - Р, 3 - Т }. В таком случае вышенаписанный ряд можно представить в такой виде:
1. (00000) = 0 в 10ичной СС
2. П (00001) = 1 в 10ичной СС
3. Р (00002) = 2 в 10ичной СС
4. Т (00003) = 3 в 10ичной СС
5. ОООПО (00010) = 4 в 10ичной СС
...
Исходя из этого, чтобы получить слово, находящееся на 531 месте и 787 месте, достаточно перевести числа 530 и 786 в 4-ичную систему счисления и заменить цифры буквами.
1.
530 / 4 = 132 (2 остаток)
132 / 4 = 33 (0 остаток)
33 / 4 = 8 (1 остаток)
8 / 4 = 2 (0 остаток)
530(10) = 20102 (4)
Замена: РОПОР
2.
786 / 4 = 196 (2 остаток)
196 / 4 = 49 (0 остаток)
49 / 4 = 12 (1 остаток)
12 / 4 = 3 (0 остаток)
786(10) = 30102(4)
Замена: ТОПОР