Для создания алгоритма (программы) необходимо знать:
полный набор исходных данных задачи (начальное состояние объекта);
цель создания алгоритма (конечное состояние объекта);
систему команд исполнителя (то есть набор команд, которые исполнитель понимает и может выполнить).
Полученный алгоритм (программа) должен обладать следующим набором свойств:
дискретность (алгоритм разбит на отдельные шаги - команды);
однозначность (каждая команда определяет единственно возможное действие исполнителя);
понятность (все команды алгоритма входят в систему команд исполнителя);
результативность (исполнитель должен решить задачу за конечное число шагов).
Большая часть алгоритмов обладает также свойством массовости (с одного и того же алгоритма можно решать множество однотипных задач).
#include <iostream>
#include <cmath>
#include <algorithm>
#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)
num /= 10;
ld func(ll num){
ll sum = 0,am = 0;
sum += 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";
Для создания алгоритма (программы) необходимо знать:
полный набор исходных данных задачи (начальное состояние объекта);
цель создания алгоритма (конечное состояние объекта);
систему команд исполнителя (то есть набор команд, которые исполнитель понимает и может выполнить).
Полученный алгоритм (программа) должен обладать следующим набором свойств:
дискретность (алгоритм разбит на отдельные шаги - команды);
однозначность (каждая команда определяет единственно возможное действие исполнителя);
понятность (все команды алгоритма входят в систему команд исполнителя);
результативность (исполнитель должен решить задачу за конечное число шагов).
Большая часть алгоритмов обладает также свойством массовости (с одного и того же алгоритма можно решать множество однотипных задач).
#include <iostream>
#include <cmath>
#include <algorithm>
#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";
}
}