设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)
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=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)个。
当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)个。
相关考题:
( 12 )已知数列的递推公式如下:f(n)=1 当 n=0,1 时f(n)=f(n-1)+f(n-2) ? 当 n1 时则按照递推公式可以得到数列: 1, 1, 2, 3, 5, 8, 13, 21, 34, 55, …… 。现要求从键盘输入 n值,输出对应项的值。例如当输入 n 为 8 时,应该输出 34 。程序如下,请补充完整。Private Sub runl1_Click( )f0=1f1=1num=Val(InputBox(" 请输入一个大于 2 的整数 : "))For n=2 To____ 【 12 】 _______f2= ___ 【 13 】 ________f0=f1f1=f2Next nMsgBox f2End Sub
设变量已正确定义,则以下能正确计算f=n!的程序段是( )。A)f=0; B)f=1; for(i=1;i=n;i++) f*=i; for(i=1;in;i++) f*=i;C)f=1; D)f=1; for(i=n;i1;i++) f*=i; for(i=n;i=2;i--) f*=i;
设R、N分别表示实数、整数和自然数集,下面定义函数f1、f2、f3:f1:R→R,f(x)=2xf2:N→N×N,f(n)=f 设R、N分别表示实数、整数和自然数集,下面定义函数f1、f2、f3: f1: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.f1和f2是单射但不是满射函数B.f1和f3都是满射函数C.f2是双射函数D.以上说法全都是错误的
设变量已正确定义,则下列能正确计算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;
设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})=NA.Ⅰ和ⅡB.Ⅰ和ⅣC.Ⅰ和ⅢD.全为真
以下程序的输出结果是includein[fun(int n,int *s){int n,f2;if(n==0‖n==1)*s=1;else{ 以下程序的输出结果是 #include<stdio.h> in[fun(int n,int *s) {int n,f2; if(n==0‖n==1) *s=1; else {fun(n-1,f1); fun(n-2,f2); *s=f1+f2; }} void main() { int x; fun(6,x); pfintf("\n%d",x);}A.7B.13C.9D.10
设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.以上说法全都是错误的
函数f()的功能是将形参x的值转换为二进制数,所得二进制数的每一位数放在一维数组y中返回。二进制的最低位放在下标为0的元素中,请将程序补充完整。void f(int x,int y[]){int m=0,n;do{n=x% 【 】;y[m++] =n;x/=2;}while(x);}
已知数列的递推公式如下: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=1f1=1num=Val(InputBox("请输入一个大于2的整数:"))For n=2 To 【 】f2=【 】f0=f1f1=f2Next nMsgBox f2End Sub
设变量已正确定义,则以下能正确计算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;
设变量已正确定义,则以下能正确计算f=n!的程序段是 ______。A.F=0:B.f=1; for(i=1;i<=n;i++) f*=i; for(i=1;i<n;i++) f*=i;C.f=1;D.f=-1; for(i=n;i>1;i++)f*=i; for(i=n;i>=2;i--)f*=i;
以下程序的输出结果是()。includeint fun(int n,int *s){ int f1,f2;if(n==0||n==1)*s= 以下程序的输出结果是( )。 #include<stdio.h> int fun(int n,int *s) { int f1,f2; if(n==0||n==1) *s=1; else { fun(n-1,f1); fun(n-2,f2); *s=f1+f2; } } void main() { int x; fun(6,x); printf("\n%d" ,x);}A.7B.13C.9D.10
设变量已正确定义,则以下能正确计算f=n!的程序是( )。A.f=0: for(i=1;i=n;i++)f*=i:B.F=1: for(i=l;i2n;i++)f*=i:C.f=l: for(i=n;i1;i++)f*=i:D.f=1; for(i=n;i=2;i--)f*=i:
有以下程序:includeint f(int t[],int n);main(){int a[4]={1,2,3,4},s;s=f(a,2);prin 有以下程序: #include<stdio.h> int f(int t[],int n); main() {int a[4]={1,2,3,4},s; s=f(a,2);printf("%d\n",s); } int f(int t[],int n) {if((n>0)(n<5))return t[n+1]+f(t,n-1); else return 0; } 程序运行后的输出结果是( )。A.4B.7C.10D.61
设变量已正确定义,则以下能正确计算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;in;i++)f*=i;C.f=1;for(i=n;i1;i++)f*=i;D.f=1;for(i=n;i=2;i--)f*=i;
设n位二进制数(从000到111)中不含连续三位数字相同的数共有F(n)个,显然F(1)=2,F(2)=4。以下选项中有一个公式是正确的,通过实例验证选出的是( )。A.F(n)=2n (n1) B.F(n)=n2-n+2 (n1) C.F(n)=F(n-1)+4n-6 (n2) D.F(n)=F(n-1)+F(n-2) (n3)
一个物体受到三个共点力的作用,在下列给出的几组力中,能使物体处于平衡状态的是()A、F1=3N;F2=4N;F3=2NB、F1=3N;F2=1N;F3=5NC、F1=2N;F2=5N;F3=10ND、F1=5N;F2=7N;F3=13N
一个正弦波振荡器的开环电压放大倍数为Au=|Au|﹤ψA,反馈系数为 F=|F|﹤ψF,该振荡器要维持稳定的振荡,必须满足()A、∣AuF∣﹤1,ψA+ψF=(2n+1)π(n=0,,1,2,…)B、∣AuF∣=1,ψA+ψF=2nπ(n=0,,1,2,…)C、∣AuF∣﹥1,ψA+ψF=(2n-1)π(n=0,,1,2,…)