Euler totient function of number

조회 수: 5 (최근 30일)
Mohsin Shah
Mohsin Shah 2017년 6월 3일
댓글: Mohsin Shah 2017년 6월 3일
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
Walter Roberson
Walter Roberson 2017년 6월 3일
Why is 1 considered relatively prime to 6? 6/1 is an integer.
David Goodmanson
David Goodmanson 2017년 6월 3일
Hi Walter, it's because the greatest common divisor of those two is 1.

댓글을 달려면 로그인하십시오.

채택된 답변

David Goodmanson
David Goodmanson 2017년 6월 3일
편집: David Goodmanson 2017년 6월 3일
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.

추가 답변 (0개)

카테고리

Help CenterFile Exchange에서 Number Theory에 대해 자세히 알아보기

Community Treasure Hunt

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

Start Hunting!

Translated by