Euler totient function of number

5 vues (au cours des 30 derniers jours)
Mohsin Shah
Mohsin Shah le 3 Juin 2017
Commenté : Mohsin Shah le 3 Juin 2017
I want to calculate Euler totient function for a number N. Euler function should give me an array of integers that are relatively prime to N. Let N=6 then Euler totient function should give a vector [1,2,4,5,7,8]. There are many user defined functions written by people but they all just count the numbers relatively prime to N. How can I get such a vector? Is there any MATLAB builtin command for Euler Totient function?
  2 commentaires
Walter Roberson
Walter Roberson le 3 Juin 2017
Why is 1 considered relatively prime to 6? 6/1 is an integer.
David Goodmanson
David Goodmanson le 3 Juin 2017
Hi Walter, it's because the greatest common divisor of those two is 1.

Connectez-vous pour commenter.

Réponse acceptée

David Goodmanson
David Goodmanson le 3 Juin 2017
Modifié(e) : David Goodmanson le 3 Juin 2017
Hi Mohsin, try
N = 48; % for example
n = 1:N-1;
ind = gcd(n,N)==1;
tot = n(ind)
% check
gcd(tot,N) % all should be 1
not_tot = setdiff(n,tot)
gcd(not_tot,N) % none should be 1
Your example actually has N=9 not N=6.
  1 commentaire
Mohsin Shah
Mohsin Shah le 3 Juin 2017
Thank you so much

Connectez-vous pour commenter.

Plus de réponses (0)

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by