niusouti.com

设n位二进制数(从00…0到11…1)中不含连续三位数字相同的数共有F(n)个,显然F(1)=2,F(2)=4。以下选项中有一个公式是正确的,通过实例验证选出的是( )。A.F(n)=2n (n≥1) B.F(n)=n2-n+2 (n≥1) C.F(n)=F(n-1)+4n-6 (n≥2) D.F(n)=F(n-1)+F(n-2) (n≥3)

题目

设n位二进制数(从00…0到11…1)中不含连续三位数字相同的数共有F(n)个,显然F(1)=2,F(2)=4。以下选项中有一个公式是正确的,通过实例验证选出的是( )。

A.F(n)=2n (n≥1) B.F(n)=n2-n+2 (n≥1) C.F(n)=F(n-1)+4n-6 (n≥2) D.F(n)=F(n-1)+F(n-2) (n≥3)


相似考题
参考答案和解析
正确答案:D
更多“设n位二进制数(从00…0到11…1)中不含连续三位数字相同的数共有F(n)个,显然F(1)=2,F ”相关问题
  • 第1题:

    设变量已正确定义,则下列能正确计算f=n!的程序段是( )。

    A.f=0; for(i=1;i<=n;i++)f*=i;

    B.f=1; for(i=1;i<n;i++)f*=i;

    C.f=1; for(i=n;i>1;i++)f*=i;

    D.f=1; for(i=n;i>=2;i--)f*=i;


    正确答案:D
    解析: 要正确计算函数f=n!,由n!的数学定义可知n!=n*(n-1)*(n-2)*……*1。在选项A)中,由于f的初值为0,在for循环语句中,f依次乘以1,2,3,……,n。最后计算f=n!=0,所以选项A)不正确。在选项B)中,f的初值为1,在for循环语句中,f依次乘以1,2,3,……,(n-1)。最后计算得到f=(n-1)!,所以选项B)不正确。在选项C)中,f的初值为1,在for循环语句中,f依次乘以n,n+1,n+2,……,所以选项C)不正确。在选项D)中,f的初值为1,在for循环语句中,f依

  • 第2题:

    设R,N分别表示实数、整数和自然数集,下面定义函数f1,f2,f3: fl:R→R,f(x)=2x f2:N→N×N,f(n)=<n,n+1> f3:N→N,f(x)=x mod 3,x除以3的余数 则下面说法正确的是

    A.n和f2是单射但不是满射函数

    B.f1和f3都是满射函数

    C.f2是双射函数

    D.以上说法全都是错误的


    正确答案:A

  • 第3题:

    将f=1+1/2+1/3+…+1/n转化成递归函数,其递归体是()。

    A、f(1)=0

    B、f(1)=1

    C、f(0)=1

    D、f(n)=f(n-1)+1/n


    参考答案:D

  • 第4题:

    设变量已正确定义,则以下能正确计算n!的程序段是______。

    A.f=0; for(i=1; i<=n; i++)f*=i;

    B.f=1; for(i=1; i<n; i++)f*=i;

    C.f=1; for(i=n; i>1; i++)f*=i;

    D.f=1; for(i=n; i>=2; i--)f*=i;


    正确答案:D
    解析:A选项,将f赋值为0,结果得到0,因为0乘任何数都为0;B选项,in,计算的是(n-1)!,C选项将陷入死循环。

  • 第5题:

    请编写一个函数long Fibo(int n), 该函数返回n的Fibonacci数。规则如下:n等于1或者2时,Fibonacci数为1,之后每个Fibonacci数均为止前两个数之和, 即:F(n)=F(n-1)+F(n-2)

    注意:清使用递归算法实现该函数。

    部分源程序已存在文件test1_2.cpp中。

    请勿修改主函数main和其他函数中的任何内容,仅在函数Fibo的花括号中填写若干语句。如n=8时,结果是21。

    文件test1_2.cpp清单如下:

    include<iostream.h>

    corlsh int N=8;

    long Fibo(int n);

    void main()

    {

    long f=Fibo(N);

    couk<<f<<endl;

    }

    long Fibo(int n)

    {

    }


    正确答案:long Fibo(int n) { if(n==1)return 1L; else if(n==2) return 1L; else return Fibo(n-1)+Fibo(n-2); }
    long Fibo(int n) { if(n==1)return 1L; else if(n==2) return 1L; else return Fibo(n-1)+Fibo(n-2); } 解析:本题考查的是考生对于递归函数的熟练掌握。递归是指在调用函数的过程中出现调用该函数自身,这里递归的结束条件是n等于1或2,即已知数列前两项为1。其调用过程如下:如果函数的参数为l或者2就把返回值1返回调用函数;否则,就使用递推公式Fibo(n)=Fibo(n-1)+Fibo(n-2),把n-1和n-2作为参数调用原函数,即这是一个递归求值的过程(递推的过程)。

  • 第6题:

    设集合N={0,1,2。。。n},f为N到N 的函数,且

    f(x)={f(f(+11)) 0<=x<=90

    x-10 x>90

    }

    经计算f(90)=81,f(89)=81,f(49)=_____。


    正确答案:
     

  • 第7题:

    设变量已正确定义,则以下能正确计算f=n!的程序是( )。 A.f=0; for(i=1;i<=n;i++)f*=i;SXB

    设变量已正确定义,则以下能正确计算f=n!的程序是( )。

    A.f=0; for(i=1;i<=n;i++)f*=i;

    B.f=1;for(i=1;i<n;i++)f*=i;

    C.f=1;for(i=n;i>1;i++)f*=i;

    D.f=1;for(i=n;i>=2;i--)f*=i;


    正确答案:D
    由n!的数字定义可知n!=n*(n-1)*(n-2)*…*1。在选项A中,由于f的初值为0,在for循环语句中,f依次乘以l,2,3,…,n,最后计算得到f=n!=0,所以选项A不正确。在选项B中,f的初值为1,在for循环语句中,f依次乘以l,2,3,…,(n-1),最后计算得到f=(n-1)!,所以选项B不正确。在选项C中,f的初值为l,在for循环语句中,f依次乘以n,n+1,n+2,……,所以选项C不正确。在选项D中,f的初值为l,在for循环语句中,f依次乘以n,n-1,n-2,…,2,最后计算得到f=n!,所以选项D正确。

  • 第8题:

    四位二进制数(从0000到1111)中,不含连续三位相同数字的数共有()个。

    A.6

    B.8

    C.10

    D.12


    正确答案:C

  • 第9题:

    设n位二进制数(从00…0到11…1)中不含连续三位数字相同的数共有F(n)个,显然F(1)=2,F(2)=4。以下选项中有一个公式是正确的,通过实例验证选出的是( )。

    A.F(n)=2n (n≥1)
    B.F(n)=n2-n+2 (n≥1)
    C.F(n)=F(n-1)+4n-6 (n≥2)
    D.F(n)=F(n-1)+F(n-2) (n≥3)

    答案:D
    解析:
    本题考查数学应用(排列组合)基本能力。
    当n=3时,除3位全0或全1外,其他情况都是不含连续3位数字相同,因此F(n)=8-2=6。当n=4时,除0001、1000、0000、1110、0111、1111外,其他情况都不含连续3位数字相同,因此F(n)=16-6=10。
    供选答案A、B、C、D中,对于n=1~4,F(n)的值如下:

    因此,可以选出公式D是正确的。
    当n=5时,除000**、1000*、01000、11000;111**、0111*、00111、10111外,其他情况都是不含连续3位数字相同,因此,F(n)=32-16=16。
    进一步计算表明,n≥3时,n位二进制数中不含连续三位数字相同的数中,末两位数字不同的数有F(n-1)个,末两位数字相同的数有F(n-2)个。

  • 第10题:

    递归函数f(n)=f(n-1)+n(n>1)的递归出口是()

    • A、 f(1)=0
    • B、 f(1)=1
    • C、 f(0)=1
    • D、 f(n)=n

    正确答案:B

  • 第11题:

    交流异步电动机,定子极数为2P个极,输入电压的频率为f1,则电机的理想空载转速(同步转速)为:n1=60f1/p而电机的转速为 ()。

    • A、n<n1=60f1/p
    • B、n=n1=60f1/2p
    • C、n>n1=f1/60p

    正确答案:A

  • 第12题:

    单选题
    设f(x)具有任意阶导数,且f′(x)=[f(x)]2,则f(n)(x)=(  )。
    A

    n[f(x)]n1

    B

    n![f(x)]n1

    C

    (n+1)[f(x)]n1

    D

    (n+1)![f(x)]n1


    正确答案: A
    解析:
    逐次求导:
    f″(x)=2f(x)f′(x)=2[f(x)]3
    f‴(x)=3·2[f(x)]2f′(x)=3![f(x)]2·[f(x)]2=3![f(x)]4
    ……
    fn(x)=n![f(x)]n1

  • 第13题:

    设f:Z×Z→Z,f()=n2k,其中Z为整数集合,下面命题为真的是 Ⅰ.f是满射的 Ⅱ.f是单射的 Ⅲ.F-1(N

    设f:Z×Z→Z,f(<n,k>)=n2k,其中Z为整数集合,下面命题为真的是

    Ⅰ.f是满射的

    Ⅱ.f是单射的

    Ⅲ.F-1(N)=ZXN(N 为自然数集合)

    Ⅳ.f(z{1})=N

    A.Ⅰ和Ⅱ

    B.Ⅰ和Ⅳ

    C.Ⅰ和Ⅲ

    D.全为真


    正确答案:C

  • 第14题:

    函数f()的功能是将形参x的值转换为二进制数,所得二进制数的每一位数放在一维数组y中返回。二进制的最低位放在下标为0的元素中,请将程序补充完整。

    void f(int x,int y[]){

    int m=0,n;

    do{

    n=x% 【 】;

    y[m++] =n;

    x/=2;

    }while(x);

    }


    正确答案:2
    2 解析:函数f()的功能是将形参x的值转换为二进制数,所以程序的空白处应填入2。

  • 第15题:

    已知数列的递推公式如下:

    f(n)=1 当n=0,1时

    f(n)=f(n-1)+f(n-2) 当n>1时

    则按照递推公式可以得到数列:1,1,2,3,5,8,13,21,34,55,……。现要求

    从键盘输入n值,输出对应项的值。例如当输入n为8时,应该输出34。程序如下,

    请补充完整。

    Private Sub runll_Click()

    f0=1

    f1=1

    num=Val(InputBox("请输入一个大于2的整数:"))

    For n=2 To 【 】

    f2=【 】

    f0=f1

    f1=f2

    Next n

    MsgBox f2

    End Sub


    正确答案:num f0+f1
    num f0+f1 解析:程序首先需要接受用户输入的值,根据程序代码可以判断,使用变量num来存放用户输入的值,使用循环实现递推,根据题面“要求从键盘输入n值,输出对应项的值”,可知循环从2开始,到用户输入的值结束,也就是“Forn=2 To num”。根据题面给出的公式“当n>1时,f(n)=f(n-1)+f(n-2)”,可知第n项的值总等于它前两项(即第n-2项与第n-1项)之和,在程序For循环中,总用f2表示第n项,f0表示第n-2项,f1表示第n-1项,所以f2=f0+f1。

  • 第16题:

    设变量已正确定义,则以下能正确计算f=n!的程序是( )。

    A.f=0: for(i=1;i<=n;i++)f*=i:

    B.F=1: for(i=l;i<2n;i++)f*=i:

    C.f=l: for(i=n;i>1;i++)f*=i:

    D.f=1; for(i=n;i>=2;i--)f*=i:


    正确答案:D
    由i"11的数字定义可知n!=n*(n-1)*(n-2)*…*1。在选项A中,由于f的初值为0,在for循环语句中,f依次乘以1,2,3,…,n,最后计算得到f=n!一0,所以选项A不正确。在选项B中,f的初值为1,在for循环语句中,f依次乘以1,2,3,…,(n-1),最后计算得到f=(n-1)!,所以选项B不正确。在选项C中,f的初值为1,在for循环语句中,f依次乘以n,n+1,n+2,……,所以选项c不正确。在选项D中,f的初值为l,在for循环语句中,f依次乘以n,n-1,n-2,…,2,最后计算得到f=n!,所以选项D正确。

  • 第17题:

    F(n)=1 n>8 n<12

    F(n)=2 n<2

    F(n)=3 n=6

    F(n)=4 n=other

    使用+ - * /和 sign(n)函数组合出 F(n)函数

    sign(n)=0 n=0

    sign(n)=-1 n<0

    sign(n)=1 n>0


    正确答案:
     

  • 第18题:

    阅读下列函数说明和C函数,将应填入(n)处的字句写在对应栏内。

    [函数2.1说明]

    Fibonacci数列中头两个数均为1,从第三个数开始,每个数等于前两个数之和。下述程序计算Fibonacci数列中前15个数,并以每行5个数的格式输出。

    [函数2.1]

    include <stdio.h>

    main()

    { int i,f,f1=1,f2=1;

    printf("%5d%5d",f1,f2);

    for(i=3;i<=15;i++){

    f=(1);

    printf("%5d",f);

    if((2)= =0) printf("\n");

    f1=12;

    (3);

    }

    }

    [函数2.2说明]

    函数fun(char *str1,char *str2)的功能是将字符串str2拼接到str1之后。

    [函数2.2]

    fun(char *str1,char *str2)

    { int i,j;

    for(i=0;str1[i]!='\0';i++);

    for(j=0;str2[j]!='\0';j++) (4);

    (5);

    }


    正确答案:(1) f1+f2 (2) i%5 (3) f2=f (4) str1[i++]=str2[j] (5) str1[i]='\0'
    (1) f1+f2 (2) i%5 (3) f2=f (4) str1[i++]=str2[j] (5) str1[i]='\0' 解析:(1)根据Fibonacci数列的性质,f等于前两数f1与f2之和;
    (2)每输出5个数以后应当换行,此条件即:i除以5余 0;
    (3)计算一个数值前,f1与f2都应更新,其中f2应为刚计算出的f;
    (4)此循环的功能是将str2的字符添加到str1末尾;
    (5)函数结束前应在str1末尾添加结束符。

  • 第19题:

    请编写函数proc(),它的功能是求Fibonacci数列中小于n的最大的一个数,结果由函数返回。

    Fibonacci数列F(n)的定义为

    F(0)=O,F(1)=1

    F(n)=F(n-1)+F(n-2)

    例如,n=500时,函数值为377。

    注意:部分源程序给出如下。

    请勿改动main()函数和其他函数中的任何内容,仅在函数proc()的花括号中填写所编写的若干语句。

    试题程序:


    正确答案:


    【解析】由题目中所给的公式可知,Fibonacci数列的第n项为第n-1项和第n-2项的和。要求Fibonacci数列中小于n的最大的一个数。首先根据公式求出Fibonacci数列的第n项的值,当第i项大于n,则返回第i-1项的值。

  • 第20题:

    设集合N={0,1,2,…},f为从N到N的函数,且

    经计算f(90)=81,f(89)=81,f(49)=______。

    A.39

    B.49

    C.81

    D.92


    正确答案:C
    解析:根据题意,经计算f(90)=81,f(89)=81,f(49)=81。

  • 第21题:

    下面是用递推法计算菲波那(Fibonacci)级数第n项的函数,请填补空缺。int f(int n)int f0=0,fl=1,f,i;if(n==0)return 0;if(n==1)return 1;for(i=2;i<=n;i++){f=f0+fl;f0 f1;( );}return f;}

    A.f=f1
    B.f1=f0
    C.f=f0
    D.f1=f

    答案:D
    解析:
    本题考查C语言编程及算法方面的基础知识。菲波那(Fibonacci)级数数列为0,1,1,2,3,5,8,13,…,即:F(0)=0,F(1)=1,F(n)=F(n-1)+F(n-2)当n>1时。

  • 第22题:

    一个正弦波振荡器的开环电压放大倍数为Au=|Au|﹤ψA,反馈系数为 F=|F|﹤ψF,该振荡器要维持稳定的振荡,必须满足()

    • A、∣AuF∣﹤1,ψAF=(2n+1)π(n=0,,1,2,…)
    • B、∣AuF∣=1,ψAF=2nπ(n=0,,1,2,…)
    • C、∣AuF∣﹥1,ψAF=(2n-1)π(n=0,,1,2,…)

    正确答案:B

  • 第23题:

    单选题
    递归函数f(n)=f(n-1)+n(n>1)的递归出口是()
    A

     f(1)=0

    B

     f(1)=1

    C

     f(0)=1

    D

     f(n)=n


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