资源简介 第1节 数论模拟演练1.随机数中的完全平方数。若一个数能表示成某个整数平方的形式,则称这个数为完全平方数,如1(1*1)、9(3*3)、16(4*4)等都是完全平方数。编写程序,单击命令按钮Command1依次产生1 000个1到1 000范围内(包含1,也包含1 000 )的随机整数,并判断产生的每个随机整数是不是完全平方数,如果是完全平方数,则将其显示在列表框List1中。程序运行效果如图所示。(1)代码“List1.Additem”中的“Additem”是列表框List1的 。(填字母:A.对象名/B.属性名/ C.属性值/D.事件名/E.方法名/F.事件处理过程名)?(2)解决此问题相应的VB程序如下:Private Sub Command1_Click()Dim i As Integer, t As IntegerFor i = 1 To 1 000 x = ① ? t = Int(Sqr(x)) If x = ② Then List1.Additem ③ ?Next iEnd Sub答案 (1)E (2)①Int(Rnd*1 000)+1 ②t*t或t^2 ③Str(x)解析 (1) List1.Additem中List1是对象名,Additem是方法名,表示把内容输出到列表框List1中。(2) ①处产生一个[1,1 000]的随机整数。②处判断x是不是完全平方数。③如果条件成立,则变量x是完全平方数,因此输出x。2.如果一个自然数的每个质因数都至少是二重的(即每个质因数乘方次数都大于或等于2),如整数72=2^3*3^2(即72=2*2*2*3*3),判断2~72所有数中全部质因子的乘方次数,找出质因子“2”乘方次数为3;质因子“3”乘方次数为2,不是72的质因子,那么这个自然数称为“漂亮数”。小李编写了一个验证“漂亮数”的VB程序。在文本框输入小于1 000的正整数,单击“检查”按钮在列表框中显示该数的质因子及该因子乘方数,在标签Label1中显示判断结果,在标签Label4中显示所有质因数的分解过程。程序运行界面如下图所示。实现上述功能的VB代码如下,但加框处代码有错,请改正。Private Sub Command1_Click()Dim a(1 To 999) As Integer Dim n As IntegerDim s As StringFor i=1 To 999 a(i)=0Next in=Val(Text1.Text)s =“”Do While n<>1 ’分解质因子过程并统计质因子出现次数For i = 2 To n Do While n Mod i = 0 s = s&“ ”&i a(i)= a(i)+1 n = i ’① LoopNext iLoopLabel4.Caption =“质因子分解过程:” +sFor j = 2 To 999 ’判断是不是漂亮数 Ifa(j)<2 Then ’② Label1.Caption = “不是漂亮数” Exit For Else Label1.Caption =“漂亮数” End IfNext jFor j = 2 To 999 ’在列表框输出质因数及对应的乘方数 If a(j)>0 Then List1.Additem Str(j)+“ ”+Str(a(j)) End IfNext jEnd Sub答案 ①n = ni或n = n/i ②a(j)>0 And a(j)<2解析 本题考查对VB基本语句含义的理解,以及利用VB解决实际问题的能力。①分析代码可知,由于该处属于因子的分解过程,并且将结果记录在相应的数组中,因此答案是n=ni。②根据题意,“漂亮数”的每个质因数乘方次数都大于或等于2(非负数),因此,此处必须限定其每个因数的范围,当a(j)>0并且a(j)<2时,不是“漂亮数”。3.尼克斯彻定理:任何一个大于等于1的整数的立方等于一串连续奇数之和,如:13=1,23=3+5, 33=7+9+11。编写一个VB程序验证尼克斯彻定理,程序运行时,在文本框Text1中输入一个大于等于1的整数,单击“验证”按钮Command1,在文本框Text2中显示验证结果,运行界面如图所示。实现上述功能的VB代码如下,请完善代码:Private Sub Command1_Click()Dim n As Integer,i As Integer,t As Integer,sum As Long,s As Stringn=Val(Text1.Text)For i = 1 To n^3 Step 2 ’变量i表示连续奇数的首个整数 sum=0:t = i:flag = False Do While sum <= n^3 And flag = False sum = ① ? t = t +2 If ② Then flag = True? Loop If flag = True Then Exit ForNext is = Str(n) + “^”+ Str(3) + “=”Do While sum >0 ③ ? If sum = 0 Then s = s + Str(i) Else s = s + Str(i) +“+” End If i = i + 2LoopText2.Text = sEnd Sub答案 ①sum + t ②sum = n ^ 3 ③sum= sum - i解析 通过双重循环找到连续奇数串首个数字,再用Do While语句分解列出连续的3个奇数。①变量sum用于存放连续的奇数和,把外循环枚举的奇数值相加。②分析执行语句flag=True可知,条件判断是否已经满足尼克斯彻定理,因此填入sum=n^3。③变量i存放奇数串的首个数值,要通过sum=sum-i逐步分解得到后续的奇数。课件5张PPT。第1节 数论 数论研究整数的性质,如素数(质数)、合数、因子、数学猜想等问题。 1.相关运算及函数2.求整数n的各位数字的表达式3.四舍五入保留小数4.判断n能否被m整除的条件表达式5.判断n是不是完全平方数的条件表达式6.质数(素数)的判断:除了1与它本身之外不再有其他的因数,这样的数称为质数。f=TrueFor i=2 to n-1???? If n Mod i= 0 Then f=false:exit forNext注:循环终值也可以设置为n2或Sqr(n)。最后判断f的值为True则为质数,否则为合数。 展开更多...... 收起↑ 资源列表 模拟演练.docx 第1节 数论.pptx