niusouti.com

角谷猜想:输入一个正整数,如果为偶数就对它除以2,如果是奇数就对它乘3再加一,以此反复。经过有限次运算之后,总可以得到1。利用递归函数求这个正整数第一次得到1经过的运算次数。

题目

角谷猜想:输入一个正整数,如果为偶数就对它除以2,如果是奇数就对它乘3再加一,以此反复。经过有限次运算之后,总可以得到1。利用递归函数求这个正整数第一次得到1经过的运算次数。


相似考题
参考答案和解析
C
更多“角谷猜想:输入一个正整数,如果为偶数就对它除以2,如果是奇数就对它乘3再加一,以此反复。经过有限次运算之后,总可以得到1。利用递归函数求这个正整数第一次得到1经过的运算次数。”相关问题
  • 第1题:

    所谓计算就是按照(),由初始对象经过()的运算得到一定新结果的一个过程。

    A.任意规则,任意次

    B.任意规则,有限次

    C.确定规则,有限次

    D.确定规则,任意次


    参考答案:C

  • 第2题:

    “角谷猜想”指出将一个自然数按以下的规则进行运算:若数为偶数,则除以2;若为奇数乘3加1。将得到的数按该规则重复运算,最终可得1。请在下面程序得每条横线处填写一和语句,使程序的功能完整。(如:输入34,则输出结果为34 17 52 26 13 40 20 10 5 16 8 4 2 1)

    注意:请勿改动main()主方法和其他已有的语句内容,仅在横线处填人适当的语句。

    import java.io.*;

    class JiaoGu{

    public static void main(String args[])

    {

    System.out.print("\n请输入一个数");

    try

    {

    BufferedReader br=new BufferedReader(new lnputStreamReader(System.in));

    String s=" ";

    try {

    s=br.readline();

    }

    catch (IOExceptine){

    }

    __________

    while(a! =1)

    {

    System.out.print(" "+a);

    if(a%2==1)

    __________

    else

    a=a/2;

    }

    System.out.println(" "+a);

    }

    __________{}

    }

    }


    正确答案:int a=Integef.parseInt(s); a=a*3+1; catch(Exception e)
    int a=Integef.parseInt(s); a=a*3+1; catch(Exception e)

  • 第3题:

    ● 对表1和表2进行 (18) 关系运算可以得到表3。


    正确答案:C

  • 第4题:

    有以下程序:includemain(){int i,s=0; for(i=1;i<10;i+ =2) s+ =i+1; printf("%d\n",s

    有以下程序: #include <stdio.h> main() { int i,s=0; for(i=1;i<10;i+ =2) s+ =i+1; printf("%d\n",s); } 程序执行后的输出结果是( )。

    A.正整数1~9的累加和

    B.正整数1~10的累加和

    C.正整数1~9中奇数之和

    D.正整数1~10中偶数之和


    正确答案:D
    解析:通过for(i=1;i10;i+=2)可知,i取值为1~10的奇数,即1,3,5,7,9,i+1即为2,4,6,8,10。因此,程序的功能是计算并输出1~10中的偶数之和,s+=i+1就是累加这些偶数。

  • 第5题:

    每一个确定的正整数a,都有一个确定的后继数a’,a’也是正整数(一个数的后继数就是紧接在这个数后面的数,例如,1的后继数是2,2的后继数是3等等).那么1()任何正整数的后继数。


    正确答案:不是

  • 第6题:

    编一个程序,输入一个正整数n,把它转换为二进制数,并输出。提示:应该利用数组。


    正确答案: int[]a=newint[80];
    inti,j,n=0;
    while(n<=0)
    {
    Console.WriteLine("请输入一个正整数:");
    n=int.Parse(Console.ReadLine());
    }
    i=0;
    Console.Write("/n正整数{0}转换为二进制数:",n);
    while(n>0)
    {
    a[++i]=n%2;
    n=n/2;
    }
    for(j=i;j>0;j--)Console.Write(a[j]);
    Console.WriteLine();

  • 第7题:

    在窗体上画一个命令按钮,名称为Command1。程序运行后,如果单击命令按钮,则显示一个输入对话框,在该对话框中输入一个整数,并用这个整数作为实参调用函数过程F1。对下面程序说法正确的是() Private Sub Command1_Click() x=InputBox("请输入整数")a=F1(Val(x)) Print a End Sub Function F1(ByRef b As Integer) If b Mod 2=0 Then F1=0 Else F1=1 End If End Function

    • A、在F1中判断所输入的整数是否是奇数,如果是奇数,过程F1返回1,否则返回0
    • B、在F1中判断所输入的整数是否是奇数,如果是奇数,过程F1返回0,否则返回1
    • C、在F1中判断所输入的整数是否是偶数,如果是偶数,过程F1返回1,否则返回0
    • D、在F1中判断所输入的整数是否是偶数,如果是偶数,过程F1返回0,否则返回1

    正确答案:A

  • 第8题:

    初等函数是由基本初等函数经过有限次函数运算由一个解析式表达的函数。


    正确答案:正确

  • 第9题:

    关于方块图的串联运算:由环节串联组合的系统,在下面的叙述中正确的是()

    • A、它的输入信号为第一个环节的输入
    • B、它的输入信号不是第一个环节的输入
    • C、总传递函数等于各环节传递函数的之和
    • D、总传递函数等于各环节传递函数的乘积

    正确答案:A,D

  • 第10题:

    单选题
    对一个大于1的自然数进行如下操作:如果是偶数则除以2,如果是奇数则减1。如此进行直到结果为2时停止操作。那么经过7次操作,结果为2的数有多少个?(  )
    A

    16

    B

    32

    C

    34

    D

    64


    正确答案: A
    解析:
    第七步的结果为2的有1个,第六步的结果为2的有2个,第五步的结果为2的有1+2=3个,第四步的结果为2的有2+3=5个,…,即相邻两项的数字的和等于下一项,即1,2,3,5,8,13,21,即所填数字为34个。

  • 第11题:

    判断题
    初等函数是由基本初等函数经过有限次函数运算由一个解析式表达的函数。
    A

    B


    正确答案:
    解析: 暂无解析

  • 第12题:

    单选题
    任意取一个大于50的自然数,如果它是偶数,就除以2;如果它是奇数,就将它乘3之后再加1。这样反复运算,最终结果是多少?()
    A

    1

    B

    2

    C

    3


    正确答案: B
    解析: 用特殊值法,任取一个数,例如取60,60÷2=30,30÷2=15,15×3+1=46,46÷2=23,23×3+1=70,70÷2=35,35×3+1=106,106÷2=53,53×3+1=160,160÷2=80,80÷2=40,40÷2=20,20÷2=10,10÷2=5,5×3+1=16,16÷2=8,8÷2=4,4÷2=2,2÷2=1,1×3+1=4,继续计算结果以4、2、1循环,故最终得到的结果为1,再取一个数验证,64÷2=32,32÷2=16,16÷2=8,16÷2=4,4÷2=2,2÷2=1,最终结果仍然为1,故正确答案为B。

  • 第13题:

    “角谷猜想”指出,将一个自然数按以下的一个简单规则进行运算:若数为偶数,则除以2:若为奇数,则乘以3加1。将得到的数按该规则重复运算,最终可得1。请在下面程序的每条横线处填写一个语句,使程序的功能完整。(如:输入34,则输出结果为34 17 52 26 13 40 20 10 5 16 8 4 2 1)

    注意:请勿改动main()主方法和其他已有的语句内容,仅在横线处填入适当的语句。

    源程序文件清单如下:

    import java.io.*;

    class JiaoGu

    {

    public static void main(String args[])

    {

    System.out.print("\n请输入一个数");

    try

    {

    BufferedReader br=

    new BufferedReader(new InputStreamReader(System.in));

    Stirng s=br.readLine();

    ______

    while(a!=1)

    {

    System.out.print(" "+a);

    if(a%2==1)

    ______

    else

    a=a/2;

    }

    System.out.println(" "+a);

    }

    ______{ }

    }

    }


    正确答案:int a=Integer.parseInt(s); a=a*3+1; catch(Exception e)
    int a=Integer.parseInt(s); a=a*3+1; catch(Exception e) 解析:本题主要考查异常的捕获知识、对文件的操作知识。解答本题的关键是熟练掌握异常的捕获知识、对文件的操作知识。在本题中,int a=Integer.parseInt(s)语句的功能是s这个字符型数据转换成整型数据,a%2==1语句的功能是判断变量a是否为奇数,try-catch()结构的功能是异常的捕获。

  • 第14题:

    如下图所示,两个关系R1和R2,它们经过哪种运算后得到R3?

    A.

    B.

    C.

    D.


    正确答案:D
    解析:R∪S是指两个关系的并也就是只要属于R或S的元组都满足;R-S是指属于R但不属于S的元组的集合,也就是要把关系R中,有关系S的元组除去;R×S不仅增加元组数,还要增加元数;RS是自然连接,把有共同属性值的元组连接起来,并去掉重复的列,因此得到两个元组。

  • 第15题:

    表1 ( ● 对 和表2进行 58) 关系运算可以得到表3。


    正确答案:C
    答案分析:试题(58)分析本题考查数据库关系运算方面的基础知识。自然连接是一种特殊的等值连接,它要求两个关系中进行比较的分量必须是相同的属性组,并且在结果集中将重复属性列去掉。一般连接是从关系的水平方向运算,而自然连接不仅要从关系的水平方向运算,还要从关系的垂直方向运算。因为自然连接要去掉重复属性,如果没有重复属性,那么自然连接就转化为笛卡儿积。题中表1和表2具有相同的“课程号”属性,进行等值连接后,去掉重复属性列后得到表3。参考答案(58)C

  • 第16题:

    已知在in.dat中存有若干个(个数<200)1四位十进制数字组成的正整数,函数ReadDat读取这若干个正整数并存入数组 XX中。请编制函数CalValue0,其功能要求: 1.求出该文件中共有多少个正整数totNum; 2.求这些正整数右移1位二进制位后,产生的新数是偶数的数的个数totCnt,以及满足此条件的这些正整数(右移前的值)的算术平均值totPjz。最后main函数调用函数WriteDat把所求的结果输出到out.dat文件中。 注意:部分源程序存放在test.C文件中。 请勿改动数据文件in.dat中的任何数据,主函数main、读函数ReadDat和输出函数WriteDat0的内容。


    正确答案:
    【审题关键句】读取正数,统计个数,右移后为偶数的个数及平均值。
    【解题思路】
    ①定义整型变量i、j和长整型he,并把其初始值设置为0。
    ②用for循环语句对数组XX进行扫描,如果当前数组元素xx[i]零,则全局变量totNum加1。
    ③在for循环语句中,循环变量i从0开始递增到totNum一1,对数组xx中的每个元素XX[i]右移一位,把这个值赋给整型变量i,再对j的值对2求余数,如果余数等于0,则变量totCnt加1,并把数组元素xx[i]累加到变量he。
    ④退出循环时,把变量he的数据类型转换成双精度型再除以变量totCnt的值,就得到算术平均值totPjz。
    【参考答案】

  • 第17题:

    在域F中,e是单位元,存在n,n为正整数使得ne=0成立的正整数n是什么?()

    • A、合数
    • B、素数
    • C、奇数
    • D、偶数

    正确答案:B

  • 第18题:

    编一个程序,输入一个正数,对该数进行四舍五入到个位数的运算。例如,实数12.56经过四舍五入运算,得到结果13;而12.46经过四舍五入运算,得到结果12。


    正确答案: doubled;
    inti,e;
    Console.WriteLine("请输入一个正数");
    d=double.Parse(Console.ReadLine());
    i=(int)d;
    if((d-i)>=0.5)
    e=i+1;
    else
    e=i;
    Console.WriteLine("{0}四舍五入的结果为{1}",d,e);

  • 第19题:

    任意取一个大于50的自然数,如果它是偶数,就除以2;如果它是奇数,就将它乘3之后再加1。这样反复运算,最终结果是多少?()

    • A、1
    • B、2
    • C、3

    正确答案:A

  • 第20题:

    ()个变量的异或运算和同或运算之间具有互补关系,()个变量的异或运算和同或运算具有相等关系。

    • A、偶数、偶数
    • B、偶数、奇数
    • C、奇数、奇数
    • D、偶数、偶数

    正确答案:B

  • 第21题:

    问答题
    编一个程序,输入一个正整数n,把它转换为二进制数,并输出。提示:应该利用数组。

    正确答案: int[]a=newint[80];
    inti,j,n=0;
    while(n<=0)
    {
    Console.WriteLine("请输入一个正整数:");
    n=int.Parse(Console.ReadLine());
    }
    i=0;
    Console.Write("/n正整数{0}转换为二进制数:",n);
    while(n>0)
    {
    a[++i]=n%2;
    n=n/2;
    }
    for(j=i;j>0;j--)Console.Write(a[j]);
    Console.WriteLine();
    解析: 暂无解析

  • 第22题:

    问答题
    编一个程序,输入一个正数,对该数进行四舍五入到个位数的运算。例如,实数12.56经过四舍五入运算,得到结果13;而12.46经过四舍五入运算,得到结果12。

    正确答案: doubled;
    inti,e;
    Console.WriteLine("请输入一个正数");
    d=double.Parse(Console.ReadLine());
    i=(int)d;
    if((d-i)>=0.5)
    e=i+1;
    else
    e=i;
    Console.WriteLine("{0}四舍五入的结果为{1}",d,e);
    解析: 暂无解析

  • 第23题:

    单选题
    一个求从1到正整数n之间所有正整数之和的单循环语句的时间复杂度为()。
    A

    O(1)

    B

    O(n)

    C

    O(n2

    D

    O(n3


    正确答案: B
    解析: 暂无解析

  • 第24题:

    单选题
    在域F中,e是单位元,存在n,n为正整数使得ne=0成立的正整数n是什么?()
    A

    合数

    B

    素数

    C

    奇数

    D

    偶数


    正确答案: D
    解析: 暂无解析