EnableExplicit Define vzr.b = -1, vzc.b = ~vzr, nMAX.i = 10, n.i , k.i Procedure coeff(nRow.i, Array pd.i(2)) Define n.i, k.i For n=1 To nRow For k=0 To n If k=0 Or k=n : pd(n,k)=1 : Continue : EndIf pd(n,k)=pd(n-1,k-1)+pd(n-1,k) Next Next EndProcedure Procedure.b isPrime(n.i, Array pd.i(2)) Define m.i For m=1 To n-1 If Not pd(n,m) % n = 0 : ProcedureReturn #False : EndIf Next ProcedureReturn #True EndProcedure Dim pd.i(nMAX,nMAX) pd(0,0)=1 : coeff(nMAX, pd()) OpenConsole() For n=0 To nMAX Print(RSet(Str(n),3,Chr(32))+": ") If vzr : Print("+") : Else : Print("-") : EndIf For k=0 To n If k>0 : If vzc : Print("+") : Else : Print("-") : EndIf : vzc = ~vzc : EndIf Print(RSet(Str(pd(n,k)),3,Chr(32))+Space(3)) Next PrintN("") vzr = ~vzr : vzc = ~vzr Next PrintN("") nMAX=50 : Dim pd.i(nMAX,nMAX) Print("Primes n<=50 : ") : coeff(nMAX, pd()) For n=2 To 50 If isPrime(n,pd()) : Print(Str(n)+Space(2)) : EndIf Next Input()