| Author | FX D |
| Date | 2016-12-13T14:07:39 |
| Project | ef241cce-6ed3-4b3c-a245-894d31a4f1ed |
| Location | TP4.sagews |
| Original file | TP4.sagews |
28 nov. 2016
Liste définie “par compréhention” en Python
Cf la documentation Python
Ex. Que font les algorithmes suivants ?
def d1(n):n=abs(n)if n==0:return(NN)else:return([i for i in [1..n] if n%i==0])d1(24)
def cd1(a,b):if a==0:return(d1(b))else:return([i for i in d1(a) if i in d1(b)])cd1(24,18)
1 in NN
def cd(a,b):#d1(gcd(a,b))if a*b==0:return(d1(a+b))else:return(cd(b,a%b))cd(24,18)
def d2(n):n=abs(n)if n==0:return(['all'])elif n==1:return([1])else:i=2while n%i>0:i=i+1return([i]+d2(n//i))d2(24)
def d3(n,i=2):n=abs(n)if n==0:return(['all'])elif n==1:return([])else:while n%i>0:i=i+1return([i]+d3(n//i,i))d3(24)
def d4(n,i=2):n=abs(n)if n==0:return(['all'])elif n==1:return([1])else:while n%i>0:i=i+1l=d4(n//i,i)return(sorted(l+[i*k for k in l if i*k not in l]))d4(24)
dd=d3(24);ddfrom itertools import combinationsS=range(len(dd))#list([2,3])l=list([list(k) for i in [0..len(S)+1] for k in list(combinations(S, i))])l[[dd[j] for j in l[i]] for i in range(len(l))]from operator import mulll=[reduce(mul,[dd[j] for j in l[i]],1) for i in range(len(l))]ll #show(ll)set(ll)
[2,2,2,3,2].count(2)
def d5(n):d=d3(n)return([[k,d.count(k)] for k in set(d)])d5(24)
[2^k*3^l for k in range(4) for l in range(2)]
def d6(l):if l==[]:return([1])else:return(sorted([l[0][0]^k*d for k in range(l[0][1]+1) for d in d6(l[1:])]))d6(d5(24))
reduce(mul,[1..5],1)
gcd(0,0)