Вредакции театра авторам платят по количеству цифр в нумерации страниц сценариев. автор пьесы получил гонорар за 1392 цифры. сколько страниц в этой пьесе? составьте программу, определяющую число цифр в указанном количестве страниц и, обратно, число страниц при известном количестве цифр. в последнем случае организовать сообщение, что исходная информация ложна, если указанное количество цифр не соответствует никакому количеству страниц. c++,)
#include <iostream>
#include <vector>
int main()
{
int m,firstcnt,inp,X;
std::vector<int> vc;
// Русский язык в консоли
setlocale(LC_ALL, "Russian");
std::cout << "Размер вектора: ";
std::cin >> m;
firstcnt = m;
for (int i = 0; i < m; i++)
{
std::cout << i << " элемент вектора: ";
std::cin >> inp;
vc.push_back(inp);
}
std::cout << "Элемент X: ";
std::cin >> X;
for (int i = 0; i < m; i++)
{
if (vc[i] % X == 0)
{
auto iter1 = vc.cbegin();
std::cout << "Вставьте новый элемент вектора после " << i- (m-firstcnt) << " элемента: ";
std::cin >> inp;
vc.insert(iter1 + i + 1, inp);
m++;
i++;
}
}
std::cout << "Результат: ";
for (int i = 0; i < m; i++)
std::cout << vc[i] << " ";
return 0;
}
Объяснение:
1. Пронумеруем разряды:
3-й разряд - 4;
2-й разряд - 1;
1-й разряд - 5;
0-й разряд - 3.
4153₈=4·8³+1·8²+5·8¹+3·8⁰
2. 4153₈=4·8³+1·8²+5·8¹+3·8⁰=2048+16+40+3=2155₁₀
3. 125/8=15 (5)
15/8=1 (7)
(1)
125₁₀=175₈
4. Пронумеруем разряды:
2-й разряд - A;
1-й разряд - 6;
0-й разряд - E;
A6E₁₆=(10)(6)(14)=10·16²+6·16¹+14·16⁰
5. A6E₁₆=10·16²+6·16¹+14·16⁰=2560+96+14=2670₁₀
6. 350/16=21 (14=E)
21/16=1 (5)
(1)
350₁₀=15E₁₆
7. 247/2=123 (1)
123/2=61 (1)
61/2=30 (1)
30/2=15 (0)
15/2=7 (1)
7/2=3 (1)
3/2=1 (1)
(1)
247₁₀=11110111₂
247/8=30 (7)
30/8=3 (6)
(3)
247₁₀=367₈
247/16=7 (15=F)
(7)
247₁₀=7F₁₆
Получившиеся числа между собой равны, так как имеют одинаковое число в десятичной системе счисления.