| hermann on Thu, 07 Sep 2023 16:18:36 +0200 |
[Date Prev] [Date Next] [Thread Prev] [Thread Next] [Date Index] [Thread Index]
| Re: Python combinations() in GP? |
On 2023-09-06 17:15, Max Alekseyev wrote:
One can use forsubsets() here: ? forsubset([5,3],s, print(s) ) Vecsmall([1, 2, 3]) Vecsmall([1, 2, 4]) Vecsmall([1, 2, 5]) Vecsmall([1, 3, 4]) Vecsmall([1, 3, 5]) Vecsmall([1, 4, 5]) Vecsmall([2, 3, 4]) Vecsmall([2, 3, 5]) Vecsmall([2, 4, 5]) Vecsmall([3, 4, 5]) Regards, Max
Thank you, I buy that.
It does not need the final ",2".
And "forsubset" more clearly states what is done.
Part of work in progress Python->GP human transpilation already:
sqtst(L, k, dbg=0)=
{
assert(#L>=k);
/*
forvec(s=vector(k,i,[1,#L]),
LS=concat([sq2(L[x])|x<-s]);
print(LS),2);
*/
forsubset([#L,k],s,
LS=concat([sq2(L[x])|x<-s]);
print(LS));
...
? \r RSA_numbers_factored.gp
validate(rsa): ✓
? smp1m4[1..4]
%145 = [5, 13, 17, 29]
? sqtst(smp1m4[1..4],3)
[2, 1, 3, 2, 4, 1]
[2, 1, 3, 2, 5, 2]
[2, 1, 4, 1, 5, 2]
[3, 2, 4, 1, 5, 2]
?
Regards,
Hermann.