您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 资本运营 > VB循环程序例题道附复习资料
1/31VB循环程序例题附答案1.素数1.[100,999]范围内同时满足以下两个条件的十进制数.⑴其个位数字与十位数字之和除以10所得的余数是百位数字;⑵该数是素数;求有多少个这样的数?15n=0Fori=100To999a=i\100b=i\10Mod10c=iMod10If(c+b)Mod10=aThenx=0Forj=2Toi-1IfiModj=0Thenx=1:ExitForNextjIfx=0Thenn=n+1EndIfNextiPrintn2.[300,800]范围内同时满足以下两个条件的十进制数.⑴其个位数字与十位数字之和除以10所得的余数是百位数字;⑵该数是素数;求满足上述条件的最大的三位十进制数。761Fori=300To800a=i\100b=i\10Mod10c=iMod10If(c+b)Mod10=aThenx=0Forj=2Toi-1IfiModj=0Thenx=1:ExitForNextjIfx=0Thens=iEndIfNextiPrints3.除1和它本身外,不能被其它整数整除的正整数称为素数(注:1不是素数,2是素数)。若两素数之差为2,则称两素数为双胞胎数,问[31,601]之间有多少对双胞胎数。22n=0Fori=31To601-2x=0Forj=2ToSqr(i)2/31IfiModj=0Thenx=1:ExitForNextjIfx=0Theny=0Forj=2ToSqr(i+2)If(i+2)Modj=0Theny=1:ExitForNextjIfy=0Thenn=n+1EndIfNextiPrintn4.数学家哥德巴赫曾猜测:任何大于6的偶数都可以分解成两个素数(素数对)的和。但有些偶数可以分解成多种素数对的和,如:10=3+7,10=5+5,即10可以分解成两种不同的素数对。试求6744可以分解成多少种不同的素数对(注:A+B与B+A认为是相同素数对)144n=0Fori=2To6744/2x=0Forj=2ToSqr(i)IfiModj=0Thenx=1:ExitForNextjIfx=0Theny=0Forj=2ToSqr(6744-i)If(6744-i)Modj=0Theny=1:ExitForNextjIfy=0Thenn=n+1EndIfNextiPrintn5.两个素数之差为2,则称这两个素数为双胞胎数。求出[200,1000]之间的最大一对双胞胎数的和。1764Fori=200To1000-2x=0Forj=2ToSqr(i)IfiModj=0Thenx=1:ExitForNextjIfx=0Theny=0Forj=2ToSqr(i+2)If(i+2)Modj=0Theny=1:ExitForNextjIfy=0Thens=i+i+2EndIfNexti3/31Prints6.一个素数(设为p)依次从最高位去掉一位,二位,三位,……,若得到的各数仍都是素数(注:除1和它本身外,不能被其它整数整除的正整数称为素数,1不是素数,2是素数),且数p的各位数字均不为零,则称该数p为逆向超级素数。例如,617,17,7都是素数,因此617是逆向超级素数,尽管503,03,3都是素数,但它不是逆向超级素数,因为它包含有零。试求[100,999]之内的所有逆向超级素数的个数。39n=0Fori=100To999a=i\10Mod10b=iMod10Ifa0Andb0Andb1Thenx=0Forj=2ToSqr(i)IfiModj=0Thenx=1:ExitForNextjIfx=0Theny=0c=iMod100Forj=2ToSqr(c)IfcModj=0Theny=1:ExitForNextjIfy=0Thenz=0Forj=2ToSqr(b)IfbModj=0Thenz=1:ExitForNextjIfz=0Thenn=n+1EndIfEndIfEndIfNextiPrintn7.德国数学家哥德巴赫曾猜测:任何大于6的偶数都可以分解成两个素数(素数对)的和。但有些偶数可以分解成多种素数对的和,如:10=3+7,10=5+5,即10可以分解成两种不同的素数对。试求1234可以分解成多少种不同的素数对(注:A+B与B+A认为是相同素数对)25n=0Fori=2To1234/2x=0Forj=2ToSqr(i)IfiModj=0Thenx=1:ExitForNextjIfx=0Theny=0Forj=2ToSqr(1234-i)4/31If(1234-i)Modj=0Theny=1:ExitForNextjIfy=0Thenn=n+1EndIfNextiPrintn8.求[100,900]之间相差为12的素数对(注:要求素数对的两个素数均在该范围内)的个数。50n=0Fori=100To900-12x=0Forj=2ToSqr(i)IfiModj=0Thenx=1:ExitForNextjIfx=0Theny=0Forj=2ToSqr(i+12)If(i+12)Modj=0Theny=1:ExitForNextjIfy=0Thenn=n+1EndIfNextiPrintn9.一个素数(设为p)依次从最高位去掉一位,二位,三位,……,若得到的各数仍都是素数(注:1不是素数),且数p的各位数字均不为零,则称该数p为逆向超级素数。例如,617,17,7都是素数,因此617是逆向超级素数,但尽管503,03,3都是素数,但它不是逆向超级素数,因为它包含有零。试求[100,999]之内的所有逆向超级素数的和。21645s=0Fori=100To999a=i\10Mod10b=iMod10Ifa0Andb0Andb1Thenx=0Forj=2ToSqr(i)IfiModj=0Thenx=1:ExitForNextjIfx=0Theny=0c=iMod100Forj=2ToSqr(c)IfcModj=0Theny=1:ExitForNextjIfy=0Then5/31z=0Forj=2ToSqr(b)IfbModj=0Thenz=1:ExitForNextjIfz=0Thens=s+iEndIfEndIfEndIfNextiPrints10.一个素数(设为p)依次从最高位去掉一位,二位,三位,……,若得到的各数仍都是素数(注:1不是素数,2是素数),且数p的各位数字均不为零,则称该数p为逆向超级素数。例如,617,17,7都是素数,因此617是逆向超级素数,但尽管503,03,3都是素数,但它不是逆向超级素数,因为它包含有零。试求[100,999]之内的所有逆向超级素数从大到小数的第10个素数是多少?797n=0Fori=999To100Step-1a=i\10Mod10b=iMod10Ifa0Andb0Andb1Thenx=0Forj=2ToSqr(i)IfiModj=0Thenx=1:ExitForNextjIfx=0Theny=0c=iMod100Forj=2ToSqr(c)IfcModj=0Theny=1:ExitForNextjIfy=0Thenz=0Forj=2ToSqr(b)IfbModj=0Thenz=1:ExitForNextjIfz=0Thenn=n+1:Ifn=10Thens=iEndIfEndIfEndIfNextiPrints11.一个自然数是素数,且它的数字位置经过任意对换后仍为素数,则称为绝对素数。如13,试求所有两位绝对素数的和。429s=06/31Fori=10To99a=i\10b=iMod10x=0Forj=2ToSqr(i)IfiModj=0Thenx=1:ExitForNextjIfx=0Theny=0c=b*10+aForj=2ToSqr(c)IfcModj=0Theny=1:ExitForNextjIfy=0Thens=s+iEndIfNextiPrints12.在[200,900]范围内同时满足以下两个条件的十进制数:⑴其个位数字与十位数字之和除以10所得的余数是百位数字;⑵该数是素数;问有多少个这样的数?14n=0Fori=200To900a=i\100b=i\10Mod10c=iMod10If(c+b)Mod10=aThenx=0Forj=2Toi-1IfiModj=0Thenx=1:ExitForNextjIfx=0Thenn=n+1EndIfNextiPrintn13.一个素数,依次从个位开始去掉一位,二位.....,所得的各数仍然是素数,称为超级素数。求[100,999]之内超级素数的个数。14n=0Fori=100To999x=0Forj=2ToSqr(i)IfiModj=0Thenx=1:ExitForNextjIfx=0Thena=i\107/31y=0Forj=2ToSqr(a)IfaModj=0Theny=1:ExitForNextjIfy=0Thenb=i\100Ifb1Thenz=0Forj=2ToSqr(b)IfbModj=0Thenz=1:ExitForNextjIfz=0Thenn=n+1EndIfEndIfEndIfNextiPrintn14.若两个连续的自然数的乘积减1后是素数,则称此两个连续自然数为友数对,该素数称为友素数。例如,由于8*9-1=71,因此,8与9是友素数对,71是友素数。求[100,200]之间的第10个友素数对所对应的友素数的值(按由小到大排列)。17291Fori=100To199a=i*(i+1)-1x=0Forj=2ToSqr(a)IfaModj=0Thenx=1:ExitForNextjIfx=0Thenn=n+1Ifn=10Thens=aEndIfNextiPrints15.求[2,400]中相差为10的相邻素数对(两数中间没有其它素数)的对数。5n=0ForI=2To400-10x=0Forj=2ToSqr(I)IfIModj=0Thenx=1:ExitForNextjIfx=0Theny=0Forj=2ToSqr(I+10)If(I+10)Modj=0Theny=1:ExitForNextj8/31Ify=0ThenFork=I+1ToI+9z=0Fork1=2ToSqr(k)IfkModk1=0Thenz=1:ExitForNextk1Ifz=0ThenExitForNextkIfk=I+10Thenn=n+1EndIfEndIfNextIPrintn16.若两个连续的自然数的乘积减1后是素数,则称此两个连续自然数为友数对,该素数称为友素数。例如,由于8*9-1=71,因此,8与9是友数对,71是友素数。求[50,150]之间的友数对的数目。38n=0Fori=50To150a=i*(i+1)-1x=0Forj=2ToSqr(a)IfaModj=0Thenx=1:ExitForNextjIfx=0Thenn=n+1EndIfNextiPrintn17.若两个连续自然数乘积减1后是素数,则称此两个自然连续数为友数对,该素数称为友素数,例:2*3-1=5,因此2与3是友数对,5是友素数,求[40,119]之间友素数对的数目。30n=0Fori=40To119a=i*(i+1)-1x=0Forj=2ToSqr(a)IfaModj=0Thenx=1:ExitForNextjIfx=0Thenn=n+1EndIfNextiPrintn18.梅森尼数是指能使2^n-1为素数的数n,求[1,21]范围内有多少个梅森尼数?79/31n=0Fori=2To21x=2^i-1k=0Forj=2ToSqr(x)IfxModj=0Thenk=1NextjIfk=0Thenn=n+1NextiPrintn19.[300,800]范围内同时满足以下两个条件的十进制数.⑴其个位数字与十位数字之和除以10所得的余数是百位数字;⑵该数是素数;求满足上述条件的最大的三位十进制数。761Fori=300To800a=i\100b=i\10Mod10c
本文标题:VB循环程序例题道附复习资料
链接地址:https://www.777doc.com/doc-6660825 .html