Алгоритм таков:
Мы инициализируем наш вектор(одномерный массив переменной длины) с клавиатуры. Посредством арифметических операций с реверсивным итератором на первый элемент мы получаем наши выходные данные.
Входные данные: 5 6 7 6 -2 5 -6
Выходные данные:
Последний элемент: 5
Предпоследний элемент: -2
#include <iostream>
#include <vector>
#include <iterator>
#include <algorithm>
int main()
{
std::vector<int> vec(
std::istream_iterator<int>(std::cin), std::istream_iterator<int>());
std::copy(vec.begin(), vec.end(),
std::ostream_iterator<int>(std::cout, " "));
std::cout << std::endl;
std::cout << "Последний элемент: " << *(vec.rbegin() + 1) << std::endl;
std::cout << "Предпоследний элемент: " << *(vec.rbegin() + 2) << std::endl;
return 0;
}
из k системы счисления (k≥2, k∈N), в десятичную, необходимо разложить на сумму следующих произведений:
и вычислить её.То есть 345₆ = 3·6²+4·6¹+5·6⁰ = 3·36+4·6+5·1 = 137₁₀
Однако все числа имеют одинаковые цифры в разрядах, поэтому для удобства вычислений, считать будем чуть иначе.
345₁₀ = 3·10²+4·10¹+5·10⁰ = 3·100+4·10+5
345₉ = 3·9²+4·9¹+5·9⁰ = 3·81+4·9+5 = 3·(100-19)+4·(10-1)+5
345₈ = 3·8²+4·8¹+5·8⁰ = 3·64+4·8+5 = 3·(81-17)+4·(9-1)+5
345₇ = 3·7²+4·7¹+5·7⁰ = 3·49+4·7+5 = 3·(64-15)+4·(8-1)+5
345₆ = 3·6²+4·6¹+5·6⁰ = 3·36+4·6+5 = 3·(49-13)+4·(7-1)+5
345₉ = 345-3·19-4·1 = 284₁₀
345₈ = 284-3·17-4·1 = 229₁₀
345₇ = 229-3·15-4·1 = 180₁₀
345₆ = 180-3·13-4·1 = 137₁₀