logo

Décomposition en facteurs premier en maple


« Précédent 1 2 3 Suivant » +


re : Décomposition en facteurs premier en maple#msg798831 Posté le 16-12-06 à 22:06
Posté par Profilvincprof vincprof

> lissolut3:=proc(n)
> L:=[1..n];
> k:=1;
> for a from 2 to n do
>  if evalb((a mod 2)=1)=true then
>     if  evalb(isprime(a-2))=false then
>        for j from 1 to evalf(floor((a^2)/4)) do  
>             if  evalb(deriv(j)<>a)=true then    
>             L[k]:=a;
>              k:=k+1;
>             fi;  
>        od;
>     fi;
>  fi;
> od:
> RETURN(L[1])
>  end:
Warning, `L` is implicitly declared local to procedure `lissolut3`

Warning, `k` is implicitly declared local to procedure `lissolut3`

Warning, `a` is implicitly declared local to procedure `lissolut3`

Warning, `j` is implicitly declared local to procedure `lissolut3`

> lissolut3(30);
>
Error, (in lissolut3) out of bound assignment to a list
re : Décomposition en facteurs premier en maple#msg798857 Posté le 16-12-06 à 22:11
Posté par Profilvincprof vincprof

en rajoutant une boucle ca donne la meme chose :


lissolut3:=proc(n)
> L := [seq(i,i=1..n)];
> k:=1;
> for i from 1 to n do
> L[i]:=0;
> od;
> for a from 2 to n do
>  if evalb((a mod 2)=1)=true then
>     if  evalb(isprime(a-2))=false then
>        for j from 1 to evalf(floor((a^2)/4)) do  
>             if  evalb(deriv(j)<>a)=true then    
>             L[k]:=a;
>              k:=k+1;
>             fi;  
>        od;
>     fi;
>  fi;
> od:
> RETURN(L[1])
>  end:Warning, `L` is implicitly declared local to procedure `lissolut3`

Warning, `k` is implicitly declared local to procedure `lissolut3`

Warning, `i` is implicitly declared local to procedure `lissolut3`

Warning, `a` is implicitly declared local to procedure `lissolut3`

Warning, `j` is implicitly declared local to procedure `lissolut3`

> lissolut3(30);
>
Error, (in lissolut3) out of bound assignment to a list
re : Décomposition en facteurs premier en maple#msg800356 Posté le 17-12-06 à 15:29
Posté par Profilvincprof vincprof

c'est bon j'ai trouvé une solution
> derivk:=proc(a)
> #k:=1;
> #while (deriv(k)<>a and k<=(a^2)/4) do  
> #            k:=k+1;
> #            if (deriv(k)=a)=true then    
> #            RETURN(false);      
> #            fi;
> #           true;
> #       od;
> for j from 1 to floor((a^2)/4) do
>       if deriv(j)=a then RETURN(false); fi;
> true;
> od;
> end:
>
>
Warning, `j` is implicitly declared local to procedure `derivk`

> derivk(10);

                                false

> lissolut2:=proc(n)
> L := [];
> k:=3;
> for a from 2 to n do
>  if evalb((a mod 2)=1)=true then
>     if  evalb(isprime(a-2))=false then
>       if (derivk(a))=true then L:=append1([L,[a]]); print(a);
>      fi
>     fi;
>  fi;
> od;
> RETURN(L)
>  end:
Warning, `L` is implicitly declared local to procedure `lissolut2`

Warning, `k` is implicitly declared local to procedure `lissolut2`

Warning, `a` is implicitly declared local to procedure `lissolut2`

> lissolut2(1000);
>

                                  3


                                  11


                                  17


                                  23


                                  29

Warning, computation interrupted



mais il a mis plus de 5 minutes pour trouver ca...

« Précédent 1 2 3 Suivant » +


Répondre à ce sujet

réservé Seuls les membres peuvent poster sur le forum !

Vous devez être connecté pour poster
attention Un modérateur est susceptible de supprimer toute contribution qui ne serait pas en relation avec le thème de discussion abordé, la ligne éditoriale du site, ou qui serait contraire à la loi.



maths - prof de maths haut de pagehaut Retrouvez cette page sur ilemaths l'île des mathématiques
© Tom_Pascal & Océane 2012