Например, пластинка для граммофона.
<em>// PascalABC.NET 3.3, сборка 1625 от 17.01.2018</em>
<em>// Внимание! Если программа не работает, обновите версию!</em>
begin
1.To(ReadInteger('n=')).Aggregate(BigInteger(1),(x,y)->x*y*y).Println
end.
<u>Пример</u>
n= 100
8709782489089480079416590161944485865569720643940840134215932536243379996346583325877967096332754920644690380762219607476364289411435920190573960677507881394607489905331729758013432992987184764607375889434313483382966801515156280854162691766195737493173453603519594496000000000000000000000000000000000000000000000000
#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;
}
<h3>Язык СИ:</h3>
#include<stdio.h>
#include<stdlib.h>
int main(){
unsigned int as=0;
long long n=-1,*a=malloc(as);
while(scanf("%lld",&n)==1 && n)
if(-5<=n && n<=5){
a=realloc(a,++as*sizeof(n));
if(a==0)return 2;
a[as-1]=n;
}
if(!n){
for(unsigned int i=0;i<as;i++)
printf("%lld ",a[i]);
printf("\n");
}else return 1;
return 0;
}