1 uses graphABC,crt;
2 var i,x,y,x2,y2,x3,y3: integer;
3 begin
4 setwindowsize(500,500);
5 lockdrawing;
6 hidecursor;
7 repeat
8 clearwindow;
9 setpenwidth(1);
10 setbrushcolor(clblack);
11 circle(250,200,20);
12 setbrushcolor(clbrown);
13 rectangle(100,200,400,400);
14 setbrushcolor(clwhite);
15 roundrect(110,210,350,390,40,40);
16 for i:=1 to 10000 do
17 putpixel(random(235)+112,random(171)+215,clblack);
18 setbrushcolor(clblack);
19 for i:=1 to 5 do
20 circle(375,210+(i*25),10);
21 circle(375,370,15);
22 setbrushcolor(clwhite);
23 rectangle(372,360,378,380);
24 setpenwidth(5);
25 x:=250; y:=197;
26 x2:=x-40-random(10);
27 y2:=y-150-random(10);
28 x3:=x++40+random(10);
29 y3:=y-150-random(10);
30 line(x,y,x2,y2);
31 line(x,y,x3,y3);
32 circle(x2,y2,10);
33 circle(x3,y3,10);
34 sleep(2);
35 redraw;
36 until keypressed;
37 end.
Объяснение:
#include <iostream>
using namespace std;
long double fact(int N)
{
if(N < 0) // если пользователь ввел отрицательное число
return 0; // возвращаем ноль
if (N == 0) // если пользователь ввел ноль,
return 1; // возвращаем факториал от нуля - не удивляетесь, но это 1 =)
else // Во всех остальных случаях
return N * fact(N - 1); // делаем рекурсию.
}
int main()
{
int N;
setlocale(0,""); // Включаем кириллицу
cout << "Введите число для вычисления факториала: ";
cin >> N;
cout << "Факториал для числа " << N << " = " << fact(N) << endl << endl; // fact(N) - функция для вычисления факториала.
return 0;
}