http://qs1969.pair.com?node_id=934114


in reply to asterisk pattern

No explicit loop, just recursion and repetition:
$p=1;sub p{my$x=shift;$x||exit;say" "x(3-$x),"*"x$x;$p=-1if$x>2;p($x+$ +p)}p 1
Update: Not so funny in C:
#include<stdio.h> int p,n;void q(int x){int j;if(!x)return;for(j=1;j<=n-x;j++)printf(" " +);for(j=1;j<=x;j++)printf("*");printf("\n");if(x>=n)p=-1;q(x+p);}void + main(){printf("Enter the number of columns: ");scanf("%d",&n);p=1;q( +1);}
(I've never really used C, anyway.)