Blame view

Giac_maj/giac-1.4.9/examples/arit/nbrediviseur 885 Bytes
6663b6c9   adorian   projet complet av...
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
  ndiv1(n):={
    local d,l1,l2,k;
    d:=2;
    l1:=[1];
    while (n!=1) {
      l2:=[];
      k:=0;
      while (irem(n,d)==0) {
        n:=iquo(n,d);
        k:=k+1;
        l2:=concat(l2,l1*d^k);
      }
      l1:=concat(l1,l2); 
      d:=d+1;
    }
    return(l1);
  };
  fpdiv(n):={
  //renvoie la liste des diviseurs de n en utilisant factprem qui se trouve
  // dans le fichier factpremier
  local l1,l2,l3,d,e,s;
  l3:=factprem(n);
  s:=size(l3);
  l1:=[1];
  for (k:=0;k<s-1;k:=k+2) {
  l2:=[];
  d:=l3[k];
  e:=l3[k+1];
  for (j:=1;j<=e;j++) {
  l2:=concat(l2,l1*(d^j));
  }
  l1:=concat(l1,l2);
  }
  return(l1);
  };
  criblediv(n):={
  //renvoie la liste des diviseurs de n en utilisant criblefact qui se trouve
  //dans le fichier factpremier
  local l1,l2,l3,d,e;
  l3:=criblefact(n);
  s:=size(l3);
  l1:=[1];
  for (k:=0;k<s-1;k:=k+2) {
  l2:=[];
  d:=l3[k];
  e:=l3[k+1];
  for (j:=1;j<=e;j++) {
  l2:=concat(l2,l1*(d^j));
  }
  l1:=concat(l1,l2);
  }
  return(l1);
  };