程序清单:
clear all,clc;
n=input('正整数n=');tab=1; %tab为该数是否满足条件“小于n且与n互素”的标志位,1为是
tab1=1; %tab1为是否满足条件“本原根”的标志位,1为是
k=1;
for i=1:n-1 %在1~n-1找满足条件的数
for j=2:i
if(mod(n,j)==0 && mod(i,j)==0) %若i与n有大于1的公约数,则i不满足
tab=0;break;
end
end
if(tab==1) %如果i满足条件,将i存入数组a
a(k)=i;
k=k+1;
else
tab=1; %如果i不满足条件,则初始化tab
end
end
N=length(a); %N为n的欧拉函数
disp('该数的所有本原根:')
for i=1:N;
for j=1:N