最新VB循环程序例题100道附答案.docx
- 文档编号:9086104
- 上传时间:2023-02-03
- 格式:DOCX
- 页数:50
- 大小:27.74KB
最新VB循环程序例题100道附答案.docx
《最新VB循环程序例题100道附答案.docx》由会员分享,可在线阅读,更多相关《最新VB循环程序例题100道附答案.docx(50页珍藏版)》请在冰豆网上搜索。
最新VB循环程序例题100道附答案
VB循环程序例题附答案
1.素数
1.[100,999]范围内同时满足以下两个条件的十进制数.⑴其个位数字与十位数字之和除以10所得的余数是百位数字;⑵该数是素数;求有多少个这样的数?
15
n=0
Fori=100To999
a=i\100
b=i\10Mod10
c=iMod10
If(c+b)Mod10=aThen
x=0
Forj=2Toi-1
IfiModj=0Thenx=1:
ExitFor
Nextj
Ifx=0Thenn=n+1
EndIf
Nexti
Printn
2.[300,800]范围内同时满足以下两个条件的十进制数.⑴其个位数字与十位数字之和除以10所得的余数是百位数字;⑵该数是素数;求满足上述条件的最大的三位十进制数。
761
Fori=300To800
a=i\100
b=i\10Mod10
c=iMod10
If(c+b)Mod10=aThen
x=0
Forj=2Toi-1
IfiModj=0Thenx=1:
ExitFor
Nextj
Ifx=0Thens=i
EndIf
Nexti
Prints
3.除1和它本身外,不能被其它整数整除的正整数称为素数(注:
1不是素数,2是素数)。
若两素数之差为2,则称两素数为双胞胎数,问[31,601]之间有多少对双胞胎数。
22
n=0
Fori=31To601-2
x=0
Forj=2ToSqr(i)
IfiModj=0Thenx=1:
ExitFor
Nextj
Ifx=0Then
y=0
Forj=2ToSqr(i+2)
If(i+2)Modj=0Theny=1:
ExitFor
Nextj
Ify=0Thenn=n+1
EndIf
Nexti
Printn
4.数学家哥德巴赫曾猜测:
任何大于6的偶数都可以分解成两个素数(素数对)的和。
但有些偶数可以分解成多种素数对的和,如:
10=3+7,10=5+5,即10可以分解成两种不同的素数对。
试求6744可以分解成多少种不同的素数对(注:
A+B与B+A认为是相同素数对)144
n=0
Fori=2To6744/2
x=0
Forj=2ToSqr(i)
IfiModj=0Thenx=1:
ExitFor
Nextj
Ifx=0Then
y=0
Forj=2ToSqr(6744-i)
If(6744-i)Modj=0Theny=1:
ExitFor
Nextj
Ify=0Thenn=n+1
EndIf
Nexti
Printn
5.两个素数之差为2,则称这两个素数为双胞胎数。
求出[200,1000]之间的最大一对双胞胎数的和。
1764
Fori=200To1000-2
x=0
Forj=2ToSqr(i)
IfiModj=0Thenx=1:
ExitFor
Nextj
Ifx=0Then
y=0
Forj=2ToSqr(i+2)
If(i+2)Modj=0Theny=1:
ExitFor
Nextj
Ify=0Thens=i+i+2
EndIf
Nexti
Prints
6.一个素数(设为p)依次从最高位去掉一位,二位,三位,……,若得到的各数仍都是素数(注:
除1和它本身外,不能被其它整数整除的正整数称为素数,1不是素数,2是素数),且数p的各位数字均不为零,则称该数p为逆向超级素数。
例如,617,17,7都是素数,因此617是逆向超级素数,尽管503,03,3都是素数,但它不是逆向超级素数,因为它包含有零。
试求[100,999]之内的所有逆向超级素数的个数。
39
n=0
Fori=100To999
a=i\10Mod10
b=iMod10
Ifa<>0Andb<>0Andb<>1Then
x=0
Forj=2ToSqr(i)
IfiModj=0Thenx=1:
ExitFor
Nextj
Ifx=0Then
y=0
c=iMod100
Forj=2ToSqr(c)
IfcModj=0Theny=1:
ExitFor
Nextj
Ify=0Then
z=0
Forj=2ToSqr(b)
IfbModj=0Thenz=1:
ExitFor
Nextj
Ifz=0Thenn=n+1
EndIf
EndIf
EndIf
Nexti
Printn
7.德国数学家哥德巴赫曾猜测:
任何大于6的偶数都可以分解成两个素数(素数对)的和。
但有些偶数可以分解成多种素数对的和,如:
10=3+7,10=5+5,即10可以分解成两种不同的素数对。
试求1234可以分解成多少种不同的素数对(注:
A+B与B+A认为是相同素数对)25
n=0
Fori=2To1234/2
x=0
Forj=2ToSqr(i)
IfiModj=0Thenx=1:
ExitFor
Nextj
Ifx=0Then
y=0
Forj=2ToSqr(1234-i)
If(1234-i)Modj=0Theny=1:
ExitFor
Nextj
Ify=0Thenn=n+1
EndIf
Nexti
Printn
8.求[100,900]之间相差为12的素数对(注:
要求素数对的两个素数均在该范围内)的个数。
50
n=0
Fori=100To900-12
x=0
Forj=2ToSqr(i)
IfiModj=0Thenx=1:
ExitFor
Nextj
Ifx=0Then
y=0
Forj=2ToSqr(i+12)
If(i+12)Modj=0Theny=1:
ExitFor
Nextj
Ify=0Thenn=n+1
EndIf
Nexti
Printn
9.一个素数(设为p)依次从最高位去掉一位,二位,三位,……,若得到的各数仍都是素数(注:
1不是素数),且数p的各位数字均不为零,则称该数p为逆向超级素数。
例如,617,17,7都是素数,因此617是逆向超级素数,但尽管503,03,3都是素数,但它不是逆向超级素数,因为它包含有零。
试求[100,999]之内的所有逆向超级素数的和。
21645
s=0
Fori=100To999
a=i\10Mod10
b=iMod10
Ifa<>0Andb<>0Andb<>1Then
x=0
Forj=2ToSqr(i)
IfiModj=0Thenx=1:
ExitFor
Nextj
Ifx=0Then
y=0
c=iMod100
Forj=2ToSqr(c)
IfcModj=0Theny=1:
ExitFor
Nextj
Ify=0Then
z=0
Forj=2ToSqr(b)
IfbModj=0Thenz=1:
ExitFor
Nextj
Ifz=0Thens=s+i
EndIf
EndIf
EndIf
Nexti
Prints
10.一个素数(设为p)依次从最高位去掉一位,二位,三位,……,若得到的各数仍都是素数(注:
1不是素数,2是素数),且数p的各位数字均不为零,则称该数p为逆向超级素数。
例如,617,17,7都是素数,因此617是逆向超级素数,但尽管503,03,3都是素数,但它不是逆向超级素数,因为它包含有零。
试求[100,999]之内的所有逆向超级素数从大到小数的第10个素数是多少?
797
n=0
Fori=999To100Step-1
a=i\10Mod10
b=iMod10
Ifa<>0Andb<>0Andb<>1Then
x=0
Forj=2ToSqr(i)
IfiModj=0Thenx=1:
ExitFor
Nextj
Ifx=0Then
y=0
c=iMod100
Forj=2ToSqr(c)
IfcModj=0Theny=1:
ExitFor
Nextj
Ify=0Then
z=0
Forj=2ToSqr(b)
IfbModj=0Thenz=1:
ExitFor
Nextj
Ifz=0Thenn=n+1:
Ifn=10Thens=i
EndIf
EndIf
EndIf
Nexti
Prints
11.一个自然数是素数,且它的数字位置经过任意对换后仍为素数,则称为绝对素数。
如13,试求所有两位绝对素数的和。
429
s=0
Fori=10To99
a=i\10
b=iMod10
x=0
Forj=2ToSqr(i)
IfiModj=0Thenx=1:
ExitFor
Nextj
Ifx=0Then
y=0
c=b*10+a
Forj=2ToSqr(c)
IfcModj=0Theny=1:
ExitFor
Nextj
Ify=0Thens=s+i
EndIf
Nexti
Prints
12.在[200,900]范围内同时满足以下两个条件的十进制数:
⑴其个位数字与十位数字之和除以10所得的余数是百位数字;⑵该数是素数;问有多少个这样的数?
14
n=0
Fori=200To900
a=i\100
b=i\10Mod10
c=iMod10
If(c+b)Mod10=aThen
x=0
Forj=2Toi-1
IfiModj=0Thenx=1:
ExitFor
Nextj
Ifx=0Thenn=n+1
EndIf
Nexti
Printn
13.一个素数,依次从个位开始去掉一位,二位.....,所得的各数仍然是素数,称为超级素数。
求[100,999]之内超级素数的个数。
14
n=0
Fori=100To999
x=0
Forj=2ToSqr(i)
IfiModj=0Thenx=1:
ExitFor
Nextj
Ifx=0Then
a=i\10
y=0
Forj=2ToSqr(a)
IfaModj=0Theny=1:
ExitFor
Nextj
Ify=0Then
b=i\100
Ifb<>1Then
z=0
Forj=2ToSqr(b)
IfbModj=0Thenz=1:
ExitFor
Nextj
Ifz=0Thenn=n+1
EndIf
EndIf
EndIf
Nexti
Printn
14.若两个连续的自然数的乘积减1后是素数,则称此两个连续自然数为友数对,该素数称为友素数。
例如,由于8*9-1=71,因此,8与9是友素数对,71是友素数。
求[100,200]之间的第10个友素数对所对应的友素数的值(按由小到大排列)。
17291
Fori=100To199
a=i*(i+1)-1
x=0
Forj=2ToSqr(a)
IfaModj=0Thenx=1:
ExitFor
Nextj
Ifx=0Then
n=n+1
Ifn=10Thens=a
EndIf
Nexti
Prints
15.求[2,400]中相差为10的相邻素数对(两数中间没有其它素数)的对数。
5
n=0
ForI=2To400-10
x=0
Forj=2ToSqr(I)
IfIModj=0Thenx=1:
ExitFor
Nextj
Ifx=0Then
y=0
Forj=2ToSqr(I+10)
If(I+10)Modj=0Theny=1:
ExitFor
Nextj
Ify=0Then
Fork=I+1ToI+9
z=0
Fork1=2ToSqr(k)
IfkModk1=0Thenz=1:
ExitFor
Nextk1
Ifz=0ThenExitFor
Nextk
Ifk=I+10Thenn=n+1
EndIf
EndIf
NextI
Printn
16.若两个连续的自然数的乘积减1后是素数,则称此两个连续自然数为友数对,该素数称为友素数。
例如,由于8*9-1=71,因此,8与9是友数对,71是友素数。
求[50,150]之间的友数对的数目。
38
n=0
Fori=50To150
a=i*(i+1)-1
x=0
Forj=2ToSqr(a)
IfaModj=0Thenx=1:
ExitFor
Nextj
Ifx=0Then
n=n+1
EndIf
Nexti
Printn
17.若两个连续自然数乘积减1后是素数,则称此两个自然连续数为友数对,该素数称为友素数,例:
2*3-1=5,因此2与3是友数对,5是友素数,求[40,119]之间友素数对的数目。
30
n=0
Fori=40To119
a=i*(i+1)-1
x=0
Forj=2ToSqr(a)
IfaModj=0Thenx=1:
ExitFor
Nextj
Ifx=0Then
n=n+1
EndIf
Nexti
Printn
18.梅森尼数是指能使2^n-1为素数的数n,求[1,21]范围内有多少个梅森尼数?
7
n=0
Fori=2To21
x=2^i-1
k=0
Forj=2ToSqr(x)
IfxModj=0Thenk=1
Nextj
Ifk=0Thenn=n+1
Nexti
Printn
19.[300,800]范围内同时满足以下两个条件的十进制数.⑴其个位数字与十位数字之和除以10所得的余数是百位数字;⑵该数是素数;求满足上述条件的最大的三位十进制数。
761
Fori=300To800
a=i\100
b=i\10Mod10
c=iMod10
If(c+b)Mod10=aThen
k=0
Forj=2ToSqr(i)
IfiModj=0Thenk=1
Nextj
Ifk=0Thens=i
EndIf
Nexti
Prints
2.取数字
20.求符合下列条件的四位完全平方数(某个正整数A是另一个正整数B的平方,则称A为完全平方数),它的千位数字与十位数字之和等于百位数字与个位数字之积,例如,3136=562,且3+3=1*6故3136是所求的四位完全平方数.求其中最大的一个数。
7921
Fori=1000To9999
x=Sqr(i)
Ifx=Int(x)Then
a=i\1000
b=i\100Mod10
c=i\10Mod10
d=iMod10
If(a+c)=b*dThens=i
EndIf
Nexti
Prints
21.设某四位数的千位数字平方与十位数字的平方之和等于百位数字的立方与个位数字的立方之和,例如,对于四位数:
3201,3^2+0^2=2^3+1^3,试问所有这样的四位数之和是多少?
97993
s=0
Fori=1000To9999
a=i\1000
b=i\100Mod10
c=i\10Mod10
d=iMod10
If(a^2+c^2)=b^3+d^3Thens=s+i
Nexti
Prints
22.设某四位数的千位数字与十位数字的和等于百位数字与个位数字的积,例如,对于四位数:
9512,9+1=5*2,试问所有这样的四位数之和是多少?
1078289
s=0
Fori=1000To9999
a=i\1000
b=i\100Mod10
c=i\10Mod10
d=iMod10
If(a+c)=b*dThens=s+i
Nexti
Prints
23.有一个三位数满足下列条件:
(1)此三位数的三位数字各不相同;
(2)此三位数等于它的各位数字的立方和。
试求所有这样的三位数之和。
1301
s=0
Fori=100To999
a=i\100
b=i\10Mod10
c=iMod10
If(a^3+b^3+c^3)=iAnda<>bAndb<>cAndc<>aThens=s+i
Nexti
Prints
24.求[1,999]之间能被3整除,且至少有一位数字是5的所有正整数的个数。
91
n=0
Fori=1To999
a=i\100
b=i\10Mod10
c=iMod10
IfiMod3=0And(a=5Orb=5Orc=5)Thenn=n+1
Nexti
Printn
25.有一个三位数满足下列条件:
(1)此三位数的三位数字各不相同;
(2)此三位数等于它的各位数字的立方和。
试求所有这样的三位数中最大的一个是多少?
407
s=0
Fori=100To999
a=i\100
b=i\10Mod10
c=iMod10
If(a^3+b^3+c^3)=iAnda<>bAndb<>cAndc<>aThens=i
Nexti
Prints
26.有一个三位数满足下列条件:
(1)此三位数的三位数字各不相同;
(2)此三位数等于它的各位数字的立方和。
试求这种三位数共有多少个?
4
n=0
Fori=100To999
a=i\100
b=i\10Mod10
c=iMod10
If(a^3+b^3+c^3)=iAnda<>bAndb<>cAndc<>aThenn=n+1
Nexti
Printn
27.求五位数各位数字的平方和为100的最大的五位数。
94111
Fori=10000To99999
a=i\10000
b=i\1000Mod10
c=i\100Mod10
d=i\10Mod10
e=iMod10
Ifa^2+b^2+c^2+d^2+e^2=100Thens=i
Nexti
Prints
28.所谓“水仙花数”是指一个三位数,其各位数字的三次方之和等于该数本身,例如:
153=1^3+3^3+5^3,故153是水仙花数,求[100,999]之间所有水仙花数之和。
1301
s=0
Fori=100To999
a=i\100
b=i\10Mod10
c=iMod10
If(a^3+b^3+c^3)=iThens=s+i
Nexti
Prints
29.设某四位数的各位数字的平方和等于100,问共有多少个这种四位数?
49
n=0
Fori=1000To9999
a=i\1000
b=i\100Mod10
c=i\10Mod10
d=iMod10
Ifa^2+b^2+c^2+d^2=100Thenn=n+1
Nexti
Printn
30.回文数是指正读和反读都一样的正整数。
例如3773是回文数。
求出[1000,9999]以内的所有回文数的个数。
90
n=0
Fori=1000To9999
a=i\1000
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 最新 VB 循环 程序 例题 100 答案