Задание 17. Информатика. 2022-10

Просмотры: 96
Изменено: 23 ноября 2024

В файле содержится последовательность целых чисел. Элементы последовательности могут принимать целые значения от \(-10~000\) до \( 10~000\) включительно. Определите и запишите в ответе сначала количество пар элементов последовательности, в которых сумма элементов не менее \(50\) и оба числа в паре неотрицательные, затем минимальное из произведений элементов таких пар. В данной задаче под парой подразумевается два подряд идущих элемента последовательности.

Файл с данными

Решение:

Python


f = open('17var10.txt')
nums = list(map(int, f.readlines()))

pair_count = 0
min_prod = 100000000

for i in range(1, len(nums)):
    if nums[i-1] + nums[i] > 49 and nums[i-1] >= 0 and nums[i] >= 0:
        pair_count += 1
        min_prod = min(min_prod, nums[i-1] * nums[i])

print(pair_count, min_prod)

C++


#include<iostream>
#include<fstream>
#include<string>

using namespace std;

int main() {
    int pair_count = 0;
    long min_prod = 100000000;
    ifstream in("17var10.txt");
    string line;
    int n1, n2;

    getline(in, line);
    n1 = stoi(line);

    while(getline(in, line)) {
        n2 = stoi(line);
        if(n1 + n2 > 49 && n1 >= 0 && n2 >= 0) {
            pair_count++;
            if (n1 * n2 < min_prod)
                min_prod = n1 * n2;
        }
        n1 = n2;
    }

    cout << pair_count << " " << min_prod << endl;

    return 0;
}

Ответ: \(1042\)   \(6736\)