VB循环程序例题100道附答案
- 格式:doc
- 大小:121.50 KB
- 文档页数:31
Vb编程题1.求自然数1~100之间奇数之和。
Private Sub Form_Click()Dim i%, sum%For i = 1 To 99 Step 2sum = sum + iNext iPrint "sum="; sumEnd Sub2.求自然数1~100之间偶数之和。
Private Sub Form_Click()Dim i%, sum%For i = 1 To 100If i mod 2=0 thensum = sum + iend ifNext iPrint "sum="; sumEnd Sub3.编写程序,在窗体上随机输出一个10--99之间的两位整数。
Sub command1_click()Dim a%Randomizea=int(rnd*90+10)print aend sub4.编程计算从200到1000之间的所有4的倍数之和。
Private Sub Form_Click()Dim sum As Longsum = 0For i = 200 To 1000If i Mod 4 = 0 Thensum = sum + iEnd IfNext iPrint sumEnd Sub5.编写程序在窗体上显示出:5/6+4/5+3/4+2/3+1/2Dim s As Singles = 0For i = 5 To 1 Step -1s = s + i / (i + 1)NextPrint “5/6+4/5+3/4+2/3+1/2=”;s6.在窗体的单击事件中编写程序,从键盘上任意输入3个数,输出最大数。
Private Sub Command2_Click()Clsa = Val(InputBox("接收三个数:"))Print a;Max = aFor i = 1 To 2a = Val(InputBox("接收三个数:"))Print a;If a > Max Then Max = aNextPrintPrint "三数中最大者是:"; MaxEnd Sub7.在窗体的单击事件中编写程序,从键盘上任意输入3个数,输出中间数。
vb程序习题答案VB程序习题答案在学习Visual Basic(VB)编程的过程中,做习题是非常重要的一部分。
通过做习题,我们可以巩固所学的知识,提高编程能力。
下面是一些常见的VB程序习题及其答案。
1. 编写一个程序,计算1到100的所有偶数的和。
答案:```vbDim sum As Integersum = 0For i = 1 To 100If i Mod 2 = 0 Thensum = sum + iEnd IfNextMsgBox("1到100的所有偶数的和为:" & sum)```2. 编写一个程序,找出一个数组中的最大值和最小值。
答案:```vbDim arr() As Integer = {5, 8, 3, 9, 2}Dim max As Integer = arr(0)Dim min As Integer = arr(0)For Each num In arrIf num > max Thenmax = numEnd IfIf num < min Thenmin = numEnd IfNextMsgBox("数组中的最大值为:" & max & ",最小值为:" & min)```3. 编写一个程序,将一个字符串反转。
答案:```vbDim str As String = "Hello, World!"Dim reversedStr As String = ""For i = str.Length - 1 To 0 Step -1reversedStr = reversedStr & str(i)NextMsgBox("反转后的字符串为:" & reversedStr)```通过做这些习题,我们可以加深对VB编程语言的理解,提高编程能力。
1.终止FOT/NEXT循环的条件是:________2.决定FOR/NEXT循环次数的因素是循环变量的________,_______,和步长。
3.FOR/NEXT循环的步长为____时可以省略。
4.FOR I=A TO B STEP C,循环次数的表达式为________.5.写出下面程序的结果。
(1) For i=-5 to -11 step -3S=s+iPrint sNext(2) A$=”ls”For x=5 to 3 step -1A$=a$+a$Next xPrint mid$(a$,x,3)(3) for i=9 to 2 step -6i=i+2print i*2;next iprint i*2;(4) for i=1 to 10if i\2=i/2 then 40s=s+i40 nextprint s(5) p=1for a=10 to 2 step -2p=p*anext a?a,p(6) s$=””for i=65 to 70 step 2s$=s$+chr$(i)nextprint s$(7) c$=”1234”for i=1 to len(c$)n=n+val(mid$(c$,i))nextprint n (8) for x=0 to 100 step 2print xnext x程序循环了________次。
(9) for x=-3 to 7 step 2print x;next(10) for x=8 to 7 step -2print x;next x(11) for x=2 to 7 step 2x=x+2print x;next x(12) for x=-2 to -7 step -2x=-x^2print x;next x(13) for x=1.5 to 11 step 1.5print x;next x(14) for x%=1.5 to 15 step 1.5print x%;next x%(15) for i=1 to 10print I;i=i+1next i(16) for i=1 to 10print I;i=i*2next i(17) for a=1 to 5b=a*a+1print a,bc=a*anext aprint “b=”;b,”c=”;c (18) for i=-5 to 5if i>0 then x=x+iif i<0 then y=y+inext iprint “x=”;xprint “y=”;y(19) s=0:m=1for k=1 to 100s=s+m*k:m=-mnext kprint s(20) for i=2 to 1 step -1print inext iprint i(21) s=0for i=1 to 5y=rnd(1)+1s=s+int(y)nextprint s(22) k=1:s=0for i=1 to 5s=s+k*ik=-knext iprint s(23) for i=10 to 6 step -1J=iNext iPrint j;i(24) p=1For a=10 to 2 step -2P=p*aNext aPrint a,p(25) x=1For i=1 to 3If k<=1 then a=x*xIf k<=2 then a=x*x+1If k<=3 then a=x*x+2Print a;Next i(26) s=0For i=1 to 3If i>=1 thenP=1Elseif i>=2 thenP=2Elseif i>=3 thenP=3ElseP=4End ifPrint ps=s+pnext iprint s(27) for j=5 to 8A=a*10+jNext jPrint a(28) aa$=”43.2”:bb$=”98.7”Cc$=aa$+bb$Dd=val(cc$)Print dd(29) bb$=”Inviting a friend to dinner”M=len(bb$)For j=1 to mB$=mid$(bb$,j,1)If b$=”n” then x=x+1Next jPrint x6.计算S=1+1/2+1/3……1/10S=0FOR TO________S=________NEXTPRINT S7.计算S=(1×2)+(3×4)+……+(9×10)S=0FOR I=1 TO____S=S+_______NEXT IPRINT S8.求1~100 奇数的平方和,即S = 1 2 +3 2 + (992)FOR I=1 TO________S=S+_________NEXT IPRINT “SUM=”; S9.输入任一字符串, 然后按相反次序打出来INPUT A$M=________B$=“”FOR K=M TO 1 STEP-1B$=________C$=C$+B$NEXT KPRINT C$10.用子程序的方法求2!+3!+4!的值S=0FOR T=2 TO 4S=S+PNEXT TPRINT “2!+3!4!=”; SENDP=1FOR K=1 TO________NEXT KNEXT K________11.输入一个较短的字符串,查找是否包含在字符串“The COMPAQ Personal Computer BASIC”中,并指出短字符串在长字符中串中的位置。
1输入3个数,输出最大的数X=val(text1)y=val(text2)z=val(text3)if x>=y thenif x>=z then print xelse print zend ifelse if y>=z then print yend if2有一元二次方程:aX2+bX+c=0,依次输入a,b,c,判断此方程是否有实根a=val(text1)b=val(text2)c=val(text3)If b*b-4*a*c>=0 then print “有实根”else print “无实根”end if3输入一个成绩,若大于等于60,则用消息框显示“恭喜!成绩通过!”,若小于60,则弹出消息框显示“抱歉!成绩没有通过!”N=val (text1)if n>=60 then msgbox”恭喜!成绩通过!”else msgbox “抱歉!成绩没有通过!”end if4输入一年份,判断它是否为闰年,并显示有关信息(判断闰年的条件是:年份能被4整除但不能被100整除,或者能被400整除)y=val(text 1)if y mod 4 =0 and y mod 100 = 0 then print “y是闰年”else print y “不是闰年‟”end if5输入学生的百分制成绩,转换输出为五级制成绩,90~100分转换为优秀,80~89转换为良好,70~79转换为中等,60~69转换为及格,0~60转换为不及格。
If mark >=90 then grade= …优‟else If mark >=80 then grade =…良‟else If mark >=70 then grade =…中‟else If mark >=60 then grade =…及格‟else grade=”不及格”6随机产生一个三位正整数,然后逆序输出,产生的数与逆序数同时显示。
VB循环程序例题附答案1.素数1. [100,999]范围内同时满足以下两个条件的十进制数. ⑴其个位数字与十位数字之和除以10所得的余数是百位数字;⑵该数是素数; 求有多少个这样的数?15n = 0For i = 100 To 999a = i \ 100b = i \ 10 Mod 10c = i Mod 10If (c + b) Mod 10 = a Thenx = 0For j = 2 To i - 1If i Mod j = 0 Then x = 1: Exit ForNext jIf x = 0 Then n = n + 1End IfNext iPrint n2. [300,800]范围内同时满足以下两个条件的十进制数. ⑴其个位数字与十位数字之和除以10所得的余数是百位数字;⑵该数是素数;求满足上述条件的最大的三位十进制数。
761 For i = 300 To 800a = i \ 100b = i \ 10 Mod 10c = i Mod 10If (c + b) Mod 10 = a Thenx = 0For j = 2 To i - 1If i Mod j = 0 Then x = 1: Exit ForNext jIf x = 0 Then s = iEnd IfNext iPrint s3. 除1和它本身外,不能被其它整数整除的正整数称为素数(注:1不是素数,2是素数)。
若两素数之差为2 ,则称两素数为双胞胎数,问[31,601]之间有多少对双胞胎数。
22n = 0For i = 31 To 601 - 2x = 0If i Mod j = 0 Then x = 1: Exit ForNext jIf x = 0 Theny = 0For j = 2 To Sqr(i + 2)If (i + 2) Mod j = 0 Then y = 1: Exit ForNext jIf y = 0 Then n = n + 1End IfNext iPrint n4. 数学家哥德巴赫曾猜测:任何大于6的偶数都可以分解成两个素数(素数对)的和。
1.打印有规律图形Private Sub Form_Click()For i = 1 To 9Print Tab(20 - i); String(2 * i - 1, Trim(Str(i))) Next iPrint Tab(10); String(19, Right(Str(i), 1)) End Sub2.近似计算pi的值;Private Sub Command1_Click()n = Text1pi = 2For i = 1 To na = (2 * i) * (2 * i) / ((2 * i - 1) * (2 * i + 1)) pi = pi * aNext iText2 = piEnd Sub3.显示图形Private Sub Picture1_Click()Dim se As StringFor i = 1 To 6s = 0For j = 1 To is = 10 * s + jIf i Mod 2 = 0 Thense = "-" & sPicture1.Print Tab(j * 9 + 1); se; Else: se = sPicture1.Print Tab((j) * 9 + 2); se; End IfNext jPicture1.PrintNext iEnd Sub4.显示水仙花数,三位数的Private Sub Form_Click()For s = 100 To 999a = s \ 100b = (s - 100 * a) \ 10c = s - 100 * a - 10 * bIf s = a * a * a + b * b * b + c * c * c Then Print sEnd IfNext sEnd Sub5.求sn=a+aa+aaa……+aaaa(n个a)a是1到9的随机数,n是5到10的随机数Private Sub Command1_Click()m = Int(Rnd * 9 + 1)n = Int(Rnd * 6 + 5)temp = 0s = 0For i = 1 To ntemp = temp * 10 + ms = s + tempNext iPrint sPrint mPrint nEnd Sub6.规范文字句子开头大写,其他都小写,句子结束符号位“.”“!”“?”Option ExplicitPrivate Sub Command1_Click()Dim T As String, i, S As String, zf As StringDim OutPut As StringT = "."zf = Trim(Text1.Text)For i = 1 To Len(zf)S = Mid(zf, i, 1)OutPut = OutPut & IIf(InStr("?.!?。
双重循环练习1.在窗体上画一个命令按钮,名称为Command1。
然后编写如下程序:Private Sub Command1_Click()For I=1 To 4For J=0 To 1Print Chr$(65+I);Next JPrintNext IEnd Sub程序运行后,如果单击命令按钮,则在窗体上显示的内容是A)BB B) A C) B D) AACC BB CC BBBDD CCC DDD CCCCEE DDDD EEEE DDDDD2.在窗体上画一个名称为Command1的命令按钮,然后编写如下程序:Private Sub Command1_Click()Dim i As Integer,j As IntegerDim a(10,10)As IntegerFor i=1 To 3For j=1 To 3a(i,j)=(i-1)*3+jPrint a(i,j);Next jPrintNext iEnd Sub程序运行后,单击命令按钮,窗体上显示的是 A) 123 B) 234 C) 147 D) 123246 345 258 456369 456 369 7893.在窗体上画一个名称为Command1的命令按钮和一个名称为Text1的文本框,然后编写如下事件过程:Private Sub Command1_Click()n = Val(Text1.Text)For i = 2 To nFor j = 2 To sqr(i)If i Mod j = 0 Then Exit ForNext jIf j > Sqr(i) Then Print iNext iEnd Sub该事件过程的功能是A) 输出n以内的奇数B) 输出n以内的偶数C) 输出n以内的素数D) 输出n以内能被j整除的数4.在窗体上画一个名称为Text1的文本框和一个名称为Command1的命令按钮,然后编写如下事件过程:Private Sub Command1_Click()Dim array1(10, 10) As IntegerDim i As Integer, j As IntegerFor i = 1 To 3For j = 2 To 4array1(i, j) = i + jNext jNext iText1.Text = array1(2, 3) + array1(3, 4) End Sub程序运行后,单击命令按钮,在文本框中显示的值是 A) 15 B) 14 C) 13 D) 125.在窗体上画两个名称分别为Command1和Command2、标题分别为“初始化”和“求和”的命令按钮。
VB程序(chéngxù)习题集(附答案)解析VB程序习题集(附答案(dá àn))解析VB简介(jiǎn jiè)1、在以下有关对象属性(shǔxìng)的叙述中,不正确的是___________。
A、一个对象的属性可分为外观(wàiguān)、行为若干类B、不同属性(shǔxìng)可能具有不同的数据类型C、一个对象的所有属性(shǔxìng)都可在属性窗口的列表中进行设置D、属性窗口中的属性列表既可按字母排序也可按类别排序2、Visual Basic中最基本的对象是___________,它是应用程序的基石,也是其他控件的容器。
A、文本框B、命令按钮C、窗体D、标签3、有程序代码“Text1.Text="Visual Basic"”,其中的Text1、Text和“Visual Basic”分别代表___________。
A、对象、值、属性B、对象、方法(fāngfǎ)、属性C、对象(duìxiàng)、属性、值D、属性(shǔxìng)、对象、值4、用窗体的___________属性(shǔxìng)来设置窗体的标题。
A、CaptionB、StyleC、TextD、Name5、窗体上有一个文本框控件Text1,假设已存在(cúnzài)三个整型变量a、b、c,且变量a的值为5,变量b的值为7,变量c的值为12。
以下的___________语句可以使文本框内显示的内容为:5+7=12。
A、Text1.Text = a + b + cB、Text1.Text = "a+b=c"C、Text1 = a & "+" & b & "=" & cD、Text1 = "a" & "+" & "b" & "=" & "c"6、如果在窗体上有命令按钮OK,在代码编辑窗口有与之对应的Cmd_Click()事件,则命令按钮的名称属性和Caption属性分别为_________。
V B循环结构测试题及答案内部编号:(YUUT-TBBY-MMUT-URRUY-UOOY-DBUYI-0128)循环结构测试题(四)一:选择题1:以下()是正确的for….next结构。
(A)for x=1 to step 10 (B) for x=3 to –3 step -3….. …..next x next x(C ) for x=1 to 10 (D) for x=3 to step 3re: …. ……Next x next yIf I=10 then goto re2:下列循环语句能正常结束循环的是()(A)I=5 (B) I=1do doI=I+1 I=I+2Loop until I<0 loop until I=10(C) I=10 (D) I=6do doI=I-1 I=I-2Loop until I<0 loop until I=13:下面程序段的运行结果为()for I=3 to 1 step –1print spc(5-I);for j=1 to 2*I-1 print “*”; next j print next I4下列程序在文本框输入“ABCD ”四个字符时,窗体上显示的是( ) private sub text1_change( ) print ; end sub(A) ABCD (B) ( C ) AABABCABCD5哪个程序段不能分别正确显示1!,2!,3!,4!的( ) 二:填空题1:要使下列For 语句循环执行20次,循环变量的初值应当是: for k=( ① ) to –5 step –2 2:下面程序段显示( ② )个“*”。
For I=1 to 5For j=2 to IPrint “*”; Next j Next I* * * * (B) * * * * * * * * (C) * * * * * * * *(D) * * * * ** * *A BCD(D) AAB ABCABCD(A )for I=1 to 4n=1 for j=1 to (B ) for I=1 to 4for j=1 toI(C) N=1for j=1 to 4 (D)N=1 J=1 Do whilej<=430for j=1 to 12 step 340for k=6 to 2 step –241print j,k42next k43next j4: 以下程序运行后,si,sj,I,j,k的结果分别是(⑤),(⑥),(⑦),(⑧),(⑨),(⑽)private sub command1_click( )for I=1 to 2for j=1 to Isk=0for k=j to 3sk=sk+1next ksj=sj+1next jsi=si+1next Iprint si,sj,sk,I,j,kend sub5:下面程序运行后输出的结果是(⑾)private sub command1_click()print tab(5*I+1);”2”+I;”2”&I;next Iend sub6:下面程序运行后输出的结果是(⑿) private sub command1_click()a$=”*”;b$=”$”for I=2 to 4if I mod 2=0 thenx$=string(len(a$)+I,b$)elsex$=string(len(a$)+I,a$)end ifprint x$;next Iend sub7: 执行下面程序,打印结果是(⒀)option explicitprivate sub form_click( )dim I as integer,j as integerj=10for I=1 to j step 2I=I+1Next IPrint I,jEnd sub8:输入任意长度的字符串,要求将字符顺序倒置,例如:将输入“ABCDEFG”变换成“GFEDCBA”private sub command1_click()dim a$,I%,c$a=inputbox(“输入字符串”)n=( ⒁ )for I =1 to ( ⒂)c=mid(a,I,1)mid(a,I,1)=( ⒃ )( ⒄ )=cnext Iprint aend sub9:找出被3,5,7除,余数为1的最小的5个正整数。
VB循环程序例题附答案1.素数1. [100,999]范围内同时满足以下两个条件的十进制数. ⑴其个位数字与十位数字之和除以10所得的余数是百位数字;⑵该数是素数; 求有多少个这样的数?15n = 0For i = 100 To 999a = i \ 100b = i \ 10 Mod 10c = i Mod 10If (c + b) Mod 10 = a Thenx = 0For j = 2 To i - 1If i Mod j = 0 Then x = 1: Exit ForNext jIf x = 0 Then n = n + 1End IfNext iPrint n2. [300,800]范围内同时满足以下两个条件的十进制数. ⑴其个位数字与十位数字之和除以10所得的余数是百位数字;⑵该数是素数;求满足上述条件的最大的三位十进制数。
761 For i = 300 To 800a = i \ 100b = i \ 10 Mod 10c = i Mod 10If (c + b) Mod 10 = a Thenx = 0For j = 2 To i - 1If i Mod j = 0 Then x = 1: Exit ForNext jIf x = 0 Then s = iEnd IfNext iPrint s3. 除1和它本身外,不能被其它整数整除的正整数称为素数(注:1不是素数,2是素数)。
若两素数之差为2 ,则称两素数为双胞胎数,问[31,601]之间有多少对双胞胎数。
22n = 0For i = 31 To 601 - 2x = 0If i Mod j = 0 Then x = 1: Exit ForNext jIf x = 0 Theny = 0For j = 2 To Sqr(i + 2)If (i + 2) Mod j = 0 Then y = 1: Exit ForNext jIf y = 0 Then n = n + 1End IfNext iPrint n4. 数学家哥德巴赫曾猜测:任何大于6的偶数都可以分解成两个素数(素数对)的和。
但有些偶数可以分解成多种素数对的和,如: 10=3+7,10=5+5,即10可以分解成两种不同的素数对。
试求6744可以分解成多少种不同的素数对(注: A+B与B+A认为是相同素数对)144n = 0For i = 2 To 6744 / 2x = 0For j = 2 To Sqr(i)If i Mod j = 0 Then x = 1: Exit ForNext jIf x = 0 Theny = 0For j = 2 To Sqr(6744 - i)If (6744 - i) Mod j = 0 Then y = 1: Exit ForNext jIf y = 0 Then n = n + 1End IfNext iPrint n5. 两个素数之差为2,则称这两个素数为双胞胎数。
求出[200,1000]之间的最大一对双胞胎数的和。
1764For i = 200 To 1000 - 2x = 0For j = 2 To Sqr(i)If i Mod j = 0 Then x = 1: Exit ForNext jIf x = 0 Theny = 0For j = 2 To Sqr(i + 2)If (i + 2) Mod j = 0 Then y = 1: Exit ForNext jIf y = 0 Then s = i + i + 2End IfPrint s6. 一个素数(设为p)依次从最高位去掉一位,二位,三位,……,若得到的各数仍都是素数(注:除1和它本身外,不能被其它整数整除的正整数称为素数,1不是素数,2是素数),且数p的各位数字均不为零,则称该数p为逆向超级素数。
例如,617,17,7都是素数,因此617是逆向超级素数,尽管503,03,3都是素数,但它不是逆向超级素数,因为它包含有零。
试求[100,999]之内的所有逆向超级素数的个数。
39n = 0For i = 100 To 999a = i \ 10 Mod 10b = i Mod 10If a <> 0 And b <> 0 And b <> 1 Thenx = 0For j = 2 To Sqr(i)If i Mod j = 0 Then x = 1: Exit ForNext jIf x = 0 Theny = 0c = i Mod 100For j = 2 To Sqr(c)If c Mod j = 0 Then y = 1: Exit ForNext jIf y = 0 Thenz = 0For j = 2 To Sqr(b)If b Mod j = 0 Then z = 1: Exit ForNext jIf z = 0 Then n = n + 1End IfEnd IfEnd IfNext iPrint n7. 德国数学家哥德巴赫曾猜测:任何大于6的偶数都可以分解成两个素数(素数对)的和。
但有些偶数可以分解成多种素数对的和,如: 10=3+7,10=5+5,即10可以分解成两种不同的素数对。
试求1234可以分解成多少种不同的素数对(注: A+B与B+A认为是相同素数对)25 n = 0For i = 2 To 1234 / 2x = 0For j = 2 To Sqr(i)If i Mod j = 0 Then x = 1: Exit ForNext jIf x = 0 Theny = 0If (1234 - i) Mod j = 0 Then y = 1: Exit ForNext jIf y = 0 Then n = n + 1End IfNext iPrint n8.求[100,900]之间相差为12的素数对(注:要求素数对的两个素数均在该范围内)的个数。
50n = 0For i = 100 To 900 - 12x = 0For j = 2 To Sqr(i)If i Mod j = 0 Then x = 1: Exit ForNext jIf x = 0 Theny = 0For j = 2 To Sqr(i + 12)If (i + 12) Mod j = 0 Then y = 1: Exit ForNext jIf y = 0 Then n = n + 1End IfNext iPrint n9. 一个素数(设为p)依次从最高位去掉一位,二位,三位,……,若得到的各数仍都是素数(注:1不是素数),且数p的各位数字均不为零,则称该数p为逆向超级素数。
例如,617,17,7都是素数,因此617是逆向超级素数,但尽管503,03,3都是素数,但它不是逆向超级素数,因为它包含有零。
试求[100,999]之内的所有逆向超级素数的和。
21645s = 0For i = 100 To 999a = i \ 10 Mod 10b = i Mod 10If a <> 0 And b <> 0 And b <> 1 Thenx = 0For j = 2 To Sqr(i)If i Mod j = 0 Then x = 1: Exit ForNext jIf x = 0 Theny = 0c = i Mod 100For j = 2 To Sqr(c)If c Mod j = 0 Then y = 1: Exit ForNext jz = 0For j = 2 To Sqr(b)If b Mod j = 0 Then z = 1: Exit ForNext jIf z = 0 Then s = s + iEnd IfEnd IfEnd IfNext iPrint s10. 一个素数(设为p)依次从最高位去掉一位,二位,三位,……,若得到的各数仍都是素数(注:1不是素数,2是素数),且数p的各位数字均不为零,则称该数p为逆向超级素数。
例如,617,17,7都是素数,因此617是逆向超级素数,但尽管503,03,3都是素数,但它不是逆向超级素数,因为它包含有零。
试求[100,999]之内的所有逆向超级素数从大到小数的第10个素数是多少?797n = 0For i = 999 To 100 Step -1a = i \ 10 Mod 10b = i Mod 10If a <> 0 And b <> 0 And b <> 1 Thenx = 0For j = 2 To Sqr(i)If i Mod j = 0 Then x = 1: Exit ForNext jIf x = 0 Theny = 0c = i Mod 100For j = 2 To Sqr(c)If c Mod j = 0 Then y = 1: Exit ForNext jIf y = 0 Thenz = 0For j = 2 To Sqr(b)If b Mod j = 0 Then z = 1: Exit ForNext jIf z = 0 Then n = n + 1: If n = 10 Then s = iEnd IfEnd IfEnd IfNext iPrint s11. 一个自然数是素数,且它的数字位置经过任意对换后仍为素数,则称为绝对素数。
如13,试求所有两位绝对素数的和。
429For i = 10 To 99a = i \ 10b = i Mod 10x = 0For j = 2 To Sqr(i)If i Mod j = 0 Then x = 1: Exit ForNext jIf x = 0 Theny = 0c = b * 10 + aFor j = 2 To Sqr(c)If c Mod j = 0 Then y = 1: Exit ForNext jIf y = 0 Then s = s + iEnd IfNext iPrint s12. 在[200,900]范围内同时满足以下两个条件的十进制数:⑴其个位数字与十位数字之和除以10所得的余数是百位数字; ⑵该数是素数;问有多少个这样的数?14n = 0For i = 200 To 900a = i \ 100b = i \ 10 Mod 10c = i Mod 10If (c + b) Mod 10 = a Thenx = 0For j = 2 To i - 1If i Mod j = 0 Then x = 1: Exit ForNext jIf x = 0 Then n = n + 1End IfNext iPrint n13. 一个素数,依次从个位开始去掉一位,二位.....,所得的各数仍然是素数,称为超级素数。