Toggle navigation
?
users online
Logout
Open hangout
Open chat for current file
:- use_rendering(table). :-table mul/4, pow/4. mul(N,_,N,N):-!. mul(N,N,P,P):-!. mul(N,P,Q,PQ):-P1 is P+1, pow(N,P1,Q,PQ). pow(_,X,1,X). pow(N,X,M,XM):-M>1,M1 is M-1, pow(N,X,M1,XM1), mul(N,XM1,X,XM). gen_tab(N,Tab):- findall(Row, (between(1,N,P), findall(PQ,(between(1,N,Q),mul(N,P,Q,PQ)),Row) ), Tab). :- use_rendering(c3). chart(N,Chart) :- findall([Nm|Row], (between(1,N,P), atom_concat(p,P,Nm), findall(PQ,(between(1,N,Q),mul(N,P,Q,PQ)),Row) ), Tab), findall(X, between(1,N,X), XData), Chart = c3{data:_{x:x, columns:[ [x|XData]|Tab],type: 'scatter'}, legend:_{show: 'false'}}. /** <examples> ?- gen_tab(4,X). ?- gen_tab(8,X). ?- gen_tab(16,X). ?- chart(32,X). ?- chart(66,X). */