#include <iostream>
#include <stdlib.h>
using namespace std;
int main() {
const int n = 10;
int a[n];
double s=0;
int k=0;
srand(time(0));
for (int i = 0; i < n; i++) {
a[i]=-20 + (101.0 / RAND_MAX) * rand();
cout << a[i] << " ";
}
cout <<"\n";
for (int i = 0; i <= n; i++){
s = s+a[i];
}
s = s/n;
cout << "Среднее = " << s <<"\n";
for (int i = 0; i <= n; i++){
if (a[i]>s) k++;
}
cout << "k = " << k <<"\n";
return 0;
}
Пример:
<span>-18 80 77 66 74 44 62 78 45 0
Среднее = 50.9
k = 6</span>
Ответ:
Добрый день!
Я не знаю Паскаль, но могу рассказать, что от Вас требуют.
Вы заводите функцию например rec
передаете в нее значение пременной А
внутри фунцкии выполняется: вызов той же функции от А - N. А также возвращается результат вызова этой функции
Также в начале функции вы проверяете, меньше ли это число, чем то, которое было изначально введено в N раз
Реализация на С
F(A,B)
{
if (A > B)
return F(A-N,B);
else
return A;
}
А в программе вызываем : F(N,N);
<em>// PascalABC.NET 3.2, сборка 1383 от 09.02.2017</em>
<em>// Внимание! Если программа не работает, обновите версию!</em>
begin
Writeln(Range(1,100).Aggregate(BigInteger(1),(x,y)->x*y))
end.
<u>Результат</u>
93326215443944152681699238856266700490715968264381621468592963895217599993229915608941463976156518286253697920827223758251185210916864000000000000000000000000