Euler totient function of number

14 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)

Catégories

En savoir plus sur Just for fun dans Help Center et File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by