Zm中可逆元个数记为φ(m),把φ(m)称为欧拉函数。

题目

Zm中可逆元个数记为φ(m),把φ(m)称为欧拉函数。

参考答案和解析
正确答案:正确
如果没有搜索结果或未解决您的问题,请直接 联系老师 获取答案。
相似问题和答案

第1题:

编写函数,isValue,它的功能是:求以下数列中满足t(K)=1的最小的k,结果由函数返回。其中数列t(n)的定义为:

t(0)=m(m为给定正整数,m<=300)

t(n+1)=t(n)/2 (当t(n)为偶数时)

或t(n+1)=3*t(n)+1(当t(n)为奇数时)

最后调用函数writeDat()读取50个数据m,分别得出结果且把结果输出到文件out.dar中。

例如:当t=299时,函数值为117。

已知对于m<=300,结果k不超过300

部分源程序已给出。

请勿改动主函数main()和写函数writeDat()的内容。

include<stdio. h>

int jsValue(int m)

{

main ( )

{

int m;

m=300;

printf ("m=%d, k-%d\n", m, jsValue (m));

writeDat ( );

writeDat ( )

{

FILE *in, *out;

int i,m,s;

in= fopen ( "in. dar" , "r" );

ut=f open ( "out. dar" , "w" );

for (i=0; i<50; i++) {

fscanf (in, "%d", &m);

s=jsValue (m);

printf( "%d\n", s );

fprintf (out, "%d\n" , s );

}

fclose (in);

fclose (out);


正确答案:int isValue(int m) { /*初值t(0)=m*/ int fn=m k=0; /*t(k) != 1 求t(k+1)*/ while ( fn>) { if (fn%2==1) /*t(k)为奇数*/ { fn-3*fn+1; } else /*t (k) 为偶数*/ { fn=fn/2; } k++; } /*t (k) ==1 返回 k*/ return k; }
int isValue(int m) { /*初值t(0)=m*/ int fn=m, k=0; /*t(k) != 1, 求t(k+1)*/ while ( fn>) { if (fn%2==1) /*t(k)为奇数*/ { fn-3*fn+1; } else /*t (k) 为偶数*/ { fn=fn/2; } k++; } /*t (k) ==1, 返回 k*/ return k; } 解析:类型:序列计算。
关键点:分析序列定义,选择合适的方法生成和存储序列或序列中的特定值。
根据序列定义,以及题目的输出要求,可选择保存序列中的所有值,也可以只保留与当前项计算相关的几项,采用递推的方式进行计算。
对于某些特殊序列,还可以求出通项公式,利用公式直接计算。
此题只需要保存当前项,根据当前项计算下一项。

第2题:

在代数系统中,T为m,n 间的整数集合,m

在代数系统<T,min>中,T为m,n 间的整数集合,m<n,且T 包括m 和n,min为两个整数中取小者的运算,则T中存在逆元的元素有(58)。

A.m

B.n

C.

D.没有存在逆元的元素


正确答案:B
解析:根据定义可知T 中存在么元n,按照逆元的定义,只有元素”存在逆元n,使得 min(n,n)=n。

第3题:

若有以下函数调用语句: f( m+n,x+y,f(m+n,z,(x,y))); 在此函数调用语句中实参的个数是( )。

A.6

B.5

C.4

D.3


正确答案:D

第4题:

Zm*是具有可逆元,可以称为Zm的什么类型的群?()

  • A、结合群
  • B、交换群
  • C、分配群
  • D、单位群

正确答案:D

第5题:

在线性规划中,设约束方程的个数为m,变量个数为n,m<n时,可以把变量分为基变量和非基变量两部分,基变量的个数为m个,非基变量的个数为()。

  • A、m个
  • B、n个
  • C、n-m个
  • D、0个

正确答案:C

第6题:

在代数系统中,T为m,,z间的整数集合,m

在代数系统<T,min>中,T为m,,z间的整数集合,m<n,且T包括,m和n,min为两个整数中取小者的运算,则T中存在逆元的元素有______。

A.m

B.n

C.[(m+n)/2]

D.没有存在逆元的元素

A.

B.

C.

D.


正确答案:B

第7题:

关于M函数文件以下错误的是()。

  • A、M函数文件的输入参数的个数可变
  • B、M函数文件必须有参数的传递
  • C、M函数文件的变量工作空间是独立的
  • D、M函数文件必须用function构成函数声明行

正确答案:B

第8题:

编写函数jsValue,它的功能是:求Hofstadter数列中的第m项H(m)(m<1000),结果由函数返回。其中数列H(n)的定义为:

H(1)=H(2)=1

H(n)=H(n-H(n-1))+H(n-H(n-2))(n>2)

最后调用函数writeDat()读取50个数据m,分别得出结果且把结果输出到文件out.dat中。

例如:当t=997时,函数值为605。

部分源程序已给出。

请勿改动主函数main()和写函数writeDat()的内容。

include<stdio. h>

int jsValue(int m)

{

main ( )

{

int m;

m=300;

printf ("m=%d, k-%d\n", m, jsValue (m));

writeDat ( );

writeDat ( )

{

FILE *in, *out;

int i,m,s;

in= fopen ( "in. dar" , "r" );

ut=f open ( "out. dar" , "w" );

for (i=0; i<50; i++) {

fscanf (in, "%d", &m);

s=jsValue (m);

printf( "%d\n", s );

fprintf (out, "%d\n" , s );

}

fclose (in);

fclose (out);


正确答案:int jsVelue(int m) { if (m0) return -1; /*参数错误正常运行不会出现*/ if(m==1 || m==2) return 1; /*初值H[1]:H[2]=1*/ else return jsValue (m-jsValue (m-1)) +jsValue (m-jsValue (m-2)); /*调用jsValue递归计算H[k]*/ } /*解法二递推*/ int jsValue(int m) { int H[1000] i; H[1]=1;H[2]=1; /*初值H[1]=H[2]=1*/ for (i=3;i=m;i++) { H[i] = H[i-H[i-1)] +H[i-H[i-2]]; /*H(k)(ki)的值都己计算完成直接使用*/ } return H[m]; /*返回所求的值*/ }
int jsVelue(int m) { if (m0) return -1; /*参数错误,正常运行不会出现*/ if(m==1 || m==2) return 1; /*初值H[1]:H[2]=1*/ else return jsValue (m-jsValue (m-1)) +jsValue (m-jsValue (m-2)); /*调用jsValue递归计算H[k]*/ } /*解法二,递推*/ int jsValue(int m) { int H[1000], i; H[1]=1;H[2]=1; /*初值H[1]=H[2]=1*/ for (i=3;i=m;i++) { H[i] = H[i-H[i-1)] +H[i-H[i-2]]; /*H(k)(ki)的值都己计算完成,直接使用*/ } return H[m]; /*返回所求的值*/ } 解析:类型:序列计算。
关键点:分析序列定义,选择合适的方法生成和存储序列或序列中的特定值。
此题有两种解法:
1.按照定义编写递归函数;(计算量大,容易超时,慎用)。
2.保存所有值,从小到大递推求解。

第9题:

欧拉函数(81)=54。


正确答案:正确

第10题:

a是Zm的可逆元的等价条件是什么?()

  • A、σ(a)是Zm的元素
  • B、σ(a)是Zm1的元素
  • C、σ(a)是Zm2的元素
  • D、σ(a)是Zm1,Zm2直和的可逆元

正确答案:D