43 lines
989 B
Text
43 lines
989 B
Text
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()
|