# include"graphics.h"
# include"stdio.h"
#include"math.h"
void tria(x,y,r,n)
int x,y,r,n;
{
int x1,x2,x3,x4,x5,x6,y1,y2,y3,y4,y5,y6,r1,r2,r3,r4,r5,r6;
if(n>0)
{
x1=x+2*r; y1=y; r1=0.2*r;
x2=x+r; y2=y+1.732*r;r2=0.2*r;
x3=x-r; y3=y+1.732*r;r3=0.2*r;
x4=x-2*r; y4=y;r4=0.2*r;
x5=x-r; y5=y-1.732*r;r5=0.2*r;
x6=x+r; y6=y-1.732*r;r6=0.2*r;
circle(x1,y1,r1);
circle(x2,y2,r2);
circle(x3,y3,r3);
circle(x4,y4,r4);
circle(x5,y5,r5);
circle(x6,y6,r6);
tria(x1,y1,r1,n-1);
tria(x2,y2,r2,n-1);tria(x3,y3,r3,n-1);
tria(x4,y4,r4,n-1);tria(x5,y5,r5,n-1);tria(x6,y6,r6,n-1);
}
}
main()
{
int n,x=320,y=240,r=50;
int gdriver=DETECT,gmode;
printf("Input recursion depth (for example,4):");
scanf("%d",&n);
initgraph(&gdriver, &gmode, "C:\\TC20\\BGI");
cleardevice();
setbkcolor(9);
setcolor(4);
circle(x,y,r);
tria(x,y,r,n);
getch();
closegraph(); }