С++ или паскаль. роботы эля, канат и артем выжимают из яблок яблочный сок. вместе они сделали s литров сока. сколько литров выжал каждый, если известно, что эля и артем сделали одинаковый объем сока, а канат сделал в два раза больше сока, чем эля и артем вместе? формат входных данных натуральное число s – общий объем выжатого сока (s < 10^6). формат результата вывести три числа, разделенных пробелами – объем в литрах, который выжал каждый (эля, канат и артем). примеры входные данные результат работы 6 1 4 1 24 4 16 4
Б) 7.
Объяснение:
Смотрим на последние разряды.
4 + 3 = 7, а там 0. Следовательно, было 10, единица ушла в следующих разряд. Чтобы вместо 7 получилось 10, основание системы счисления должно быть меньше на 10 - 7 = 3 (мы же все считали в привычной десятиричной системе). От 10 отнимаем 3 и будет 7. Это и есть ответ. И не нужно ничего больше никуда переводить.
Для примера. Если бы было написано в последних разрядах 4 и 2, а результат был бы 1, мы бы рассуждали так.
4 + 2 = 6, а написано 1, т.е. это было 11. 11 - 6 = 5 (разница).
10 - 5 = 5. Значит, система по основанию 5. Быстро и легко.
#include <iostream>
#include <ctime>
#include <algorithm>
using namespace std;
int* input_arr_auto(int* arr, int n) {
for (int i = 0; i < n; i++) {
arr[i] = rand() % 100;
}
return arr;
}
void print_array(int* arr, int n) {
cout << endl;
for (int i = 0; i < n; i++) {
cout << arr[i] << "\t";
}
}
int* input_arr(int* arr, int n) {
cout << "Введите элементы массива по одному, или используйте другую функцию для автозаполнения";
for (int i = 0; i < n; i++) {
cin >> arr[i];
}
return arr;
}
int third_largest(int* arr, int n) {
int first=arr[0], second=arr[0], third=arr[0];
if (n < 3) {
return -1;
}
for (int i = 0; i < n; i++)
{
if (arr[i] > first)
{
third = second;
second = first;
first = arr[i];
}
else if (arr[i] > second)
{
third = second;
second = arr[i];
}
else if (arr[i] > third)
third = arr[i];
}
return third;
}
int main() {
srand(time(NULL));
setlocale(LC_ALL, "Russian");
int n, third_elem;
cout << "Введите размерность N: ";
cin >> n;
int* arr = new int[n];
arr = input_arr_auto(arr, n);
print_array(arr, n);
third_elem = third_largest(arr, n);
if (third_elem == -1) {
cout << "Недостаточно элементов массива";
}
for (int i = 0; i < n; i++) {
if (arr[i] > third_elem) {
arr[i] = third_elem;
}
}
print_array(arr, n);
}