#include <iostream>
#include <vector>
using namespace std;
int am_dig(int k){
int res = 0;
while(k > 0){
res++;
k /= 10;
}
return res;
}
double average(vector<double> a){
double sum = 0;
for(auto i: a)
sum += i;
return sum/a.size();
}
int main() {
vector<double> a;
double x = 1;
while(x != 0){
cin >> x;
if(am_dig(x) == 3)
a.push_back(x);
}
if(a.size() == 0)
cout << "NO";
else
cout << average(a);
}
ответ все этапы технологии решения задачи на компьютере на примере конкретной задачи.
1. Постановка задачи. Дано N кубиков, на которых написаны разные буквы. Сколько различных N -буквенных слов можно составить из этих кубиков (слова не обязательно должны иметь смысл)?
Искомую целочисленную величину обозначим буквой F. Тогда постановка задачи выглядит так:
Дано: N.
Найти: F.
2. Математическая формализация. Получим расчетную формулу. Сначала рассмотрим несколько конкретных примеров. Имеются два кубика с буквами «И» и «К». Ясно, что из них можно составить два слова:
ИК КИ.
Добавим к ним третью букву, «С». Теперь число разных слов будет в три раза больше предыдущего, т. е. равно 6:
ИКС КИС ИСК КСИ СКИ СИК.
Если добавить четвертую букву, например «А», то число слов возрастет в четыре раза и станет равным 24:
Объяснение:
БАНТ – рант – рана – раса – роса – КОСА;
БЕГ – бог – бок – бак – мак – маг – ШАГ;
МОРЕ – горе – гора – кора – кома – кума – сума – СУША;
МИГ – мир – пир – пар – бар – бас – бес – вес – ВЕК.