#include <iostream>
using namespace std;
int main()
{
cout << "Измерение ростов всех студентов\n";
srand(time(0));
int a[16], b[16];
for(int i = 1; i < 16; i++)
{
a[i]=rand()%50+140;
cout << "a[" << i << "] = " << a[i] << "; ";
}
cout << "\nРост самого высокого студента (номер): ";
int max = 0, min = 65535, k = 0, sum = 0, j1, j2;
for(int i = 1; i < 16; i++)
{
if(a[i] > max)
{
max = a[i];
j1 = i;
}
if(a[i] < min)
{
min = a[i];
j2 = i;
}
sum += a[i];
if(a[i] > 170)
{
k++;
b[k] = a[i];
}
}
cout << j1 << endl;
cout << "Рост самого низкого студента (номер): " << j2 << endl;
cout << "Средний рост " << sum / 15.0 << endl;
cout << "Массив b: ";
for(int i = 1; i <= k; i++)
cout << "b[" << i << "] = " << b[i] << "; ";
cout << endl;
return 0;
}
38
Объяснение:
Условие i mod 2 = 0 означает, что i должно быть четным.
Условие i div 5 = 4 означает, что i находится в промежутке от 20 до 24 включительно.
Требуется сказать, какое последнее i было добавлено в сумму s, что сумма стала равной 424, а i удовлетворяет хотя бы одному из условий выше.
Найдем сумму четных чисел с 2 до 18 включительно.
Добавим еще сумму чисел от 20 до 24 включительно.
Поэтому искомое значение i будет среди четных чисел больших 24.
Пусть количество четных элементов, начиная с 26, равно n, добавив которые к 200 можно получить 424. Тогда:
Среди найденных значений подходит только n=7.
Тогда последний требуемый четный элемент равен 26+2*(7-1)=38.
Таким образом, путем суммирования (2+4+...16+18)+(20+21+22+23+24)+(26+28+...+36+38) можно получить 424.