#include <iostream>
long double fact(const int &);//прототип функции.
int main()
{
int arr[5];
for(int i = 0; i < 5; i++)
std::cin >> arr[i];
for(int i = 0; i < 5; i++)
std::cout << "fact(" << arr[i] << ") = " << fact(arr[i]) << std::endl;
return 0;
}
/*
* long double - тип возвр. значения. const int - константность переменной int.
* & - взятие ссылки(предохранение от ссоздания копии
*/
long double fact(const int &variable)
{
if(variable == 1) // факториал 1 = 1
return 1;
if(variable == 0)
return 0;
if(variable > 1) // если больше 1 , то
return variable * fact(variable - 1); // умножаем входное значение на факториал(вохдное - 1), тем самым вызывая рекурсию.
return 0;
}
С помощью степи двух, и получаеться что наименьшее кол-во лампочем равно 7.
program raf105;
var a,b,c,d,e:integer;
begin
write('Введите 5 оценок через пробел: ');
readln(a,b,c,d,e);
a:=(a+b+c+d+e) div 5;
writeln('Средний балл: ',a);
end.
Не знаю, кто тебе сказал, что нужны расчеты, но эта задача - на логику.
Допустим, правду сказал Ваня. Тогда он и разбил окно.
Но тогда и Коля сказал правду - это не он и не Саша. Противоречие.
Допустим, правду сказал Коля - это не он и не Саша. То есть это Ваня.
Но тогда и Ваня тоже сказал правду. Опять противоречие.
Значит, правду сказал Саша - это не он и не Ваня.
Окно разбил Коля.