Напишите программу, которая в последовательности натуральных чисел определяет среднее...

0 голосов
25 просмотров

Напишите программу, которая в последовательности натуральных чисел определяет среднее арифметическое цифр такого числа, которое оканчивается на 2 и все составляющие его цифры чётные. Программа получает на вход количество чисел в последовательности, а затем сами числа. Количество чисел не превышает 2000. Введённые числа не превышают 500. Программа должна выводить среднее арифметическое цифр каждого числа, удовлетворяющего заданным условиям. Реализовать нужно с помощью массива


Информатика (66 баллов) | 25 просмотров
Дан 1 ответ
0 голосов

#include

#include

#include

#pragma GCC optimize("Ofast")

#define ll long long

#define ld long double

using namespace std;

bool check_last(ll num){

   if(num % 10 == 2)

       return true;

   else

       return false;

}

bool check_parity(ll num){

   while(num > 0){

       if(num % 10 % 2 == 1)

           return false;

       num /= 10;

   }

   return true;

}

ld func(ll num){

   ll sum = 0,am = 0;

   while(num > 0){

       sum += num % 10;

       num /= 10;

       am++;

   }

   return sum/am;

}

signed main() {

  ll n;

  cin >> n;

  ll a[n];

  for(ll i = 0; i < n; i++)

      cin >> a[i];

  for(auto i: a){

      if(check_last(i) && check_parity(i))

          cout << "Среднее арифметическое числа " << i << " равно: " << func(i) << "\n";</strong>

  }

}

(670 баллов)
0

а можно написать без дополнительных библиотек