收藏 分享(赏)

VB程序题p.doc

上传人:gnk289057 文档编号:5153882 上传时间:2019-02-10 格式:DOC 页数:11 大小:100KB
下载 相关 举报
VB程序题p.doc_第1页
第1页 / 共11页
VB程序题p.doc_第2页
第2页 / 共11页
VB程序题p.doc_第3页
第3页 / 共11页
VB程序题p.doc_第4页
第4页 / 共11页
VB程序题p.doc_第5页
第5页 / 共11页
点击查看更多>>
资源描述

1、1Visual Basic 编程题题型一:根据文字提示,找出数列的组成规律,即如何由已知项求出下一项,这样,经过若干次更迭,可求出数列中任何项,也可以求出前若干项的和。1、 已知数列前 3 项为 0、0、1,以后每项为前 3 项的和,求此数列的第 36 项。 (334745777)方法一:Private Sub Form_Click()Dim a (2)此数等于它的各位数字的立方和。Private Sub Form_Click()Dim i%, n%, a%, b%, c%n = 0For i = 100 To 999a = i 100b = (i - a * 100) 105c = i Mo

2、d 10If a c and a Max ThenMax = Abs(x - y)End IfEnd IfNext yNext xPrint n, MaxEnd Sub7、 有 5 羊 4 犬 3 鸡 2 兔值钱 1496,4 羊 2 犬 6 鸡 3 兔值钱 1175,3 羊 1 犬 7 鸡 5 兔值钱 958,2 羊 3 犬 5 鸡 1 兔值钱 861,求鸡值多少钱? (23)题型四:也是求某范围内满足条件的数的和,但不能遍历给定范围的所有数,因为题目要求在满足另一条件时强制结束循环。1、 求 1 到 5000 之间的能被 5 整除的前若干个偶数之和,直到和大于 500 为止。 (550)方

3、法一:Private Sub Form_Click()Dim s%, x%s = 0For x = 2 To 5000 Step 2If x Mod 5 = 0 Thens = s + xEnd IfIf s 500 Then Exit ForEnd ifNext xPrint sEnd Sub方法二:Private Sub Form_Click()Dim s%, x%s = 0x = 1Do While s 750 Thens = s - x s 此时已经 750,必须减去刚加上去的 xExit Do 跳出 do whileloop 循环End Ifx = x + 2LoopPrint sE

4、nd Sub3、 已知:S=2+4+8+16+32+,求 S 不大于 1500 的最大值。 (1022)Private Sub Form_Click()Dim s%, x%8s = 2x = 2Do While s = 1500x = 2 * xs = s + xLoops = s - xPrint sEnd Sub题型五:完全平方数 弄清楚完全平方数所具有的特征,再将此特征作为选择语句的条件对指定范围内的数进行判断。1、 统计 10009999 之间的完全平方数的个数,如:25=52,25 就是一个完全平方数。 (68)方法一:Private Sub Form_Click()Dim i%,

5、n%, j%n = 0For i = 1000 To 9999For j = 30 To 100 If i = j * j Thenn = n + 1End IfNext jNext iPrint nEnd Sub方法二:Private Sub Form_Click()Dim i%, n%n = 0For i = 1000 To 9999If Sqr(i) = Int(Sqr(i) Thenn = n + 1End IfNext iPrint nEnd Sub2、 统计 10009999 之间的所有满足以下条件的四位数的个数。该四位数是一个完全平方数,且其第 1 位与第 3 位数字之和为12,

6、第 2 位与第 4 位数字之积为 24。 (1)Private Sub Form_Click()Dim i%, n%n = 0For i = 1000 To 9999a = i 1000 b = (i - 1000 * a) 100c = (i - 1000 * a - 100 * b) 10d = i Mod 10If Sqr(i) = Int(Sqr(i) And a + c = 12 And b * d = 24 Thenn = n + 1End IfNext iPrint nEnd Sub题型六:与因子有关的问题,需要用双重循环来解决。1、 求100,200间有奇数个不同因子的整数的个

7、数。 (5)Private Sub Form_Click()m = 0 保存有奇数个不同因子的整数的个数For i = 100 To 200n = 0 保存 i 的不同因子的个数方法二: a = i 1000 千位b = i100 mod 10 百位c = i10 mod 10 十位d = i mod 10 个位9For j = 1 To iIf i Mod j = 0 Thenn = n + 1End IfNext jIf n Mod 2 = 1 Then 判断 i 的不同因子的个数是否是奇数m = m + 1End IfNext iPrint mEnd Sub2、 求 200,300之间的

8、有奇数个不同因子的最大整数。 (289)方法一:Private Sub Form_Click()Dim m%,i%,n%,j%,max%m = 0: Max = 1For i = 200 To 300n = 0For j = 1 To iIf i Mod j = 0 Thenn = n + 1End IfNext jIf n Mod 2 = 1 ThenMax = iEnd IfNext iPrint MaxEnd Sub方法二:Private Sub Form_Click()Dim i%, j%, n%For i = 300 To 200 step -1n = 0For j = 1 To i

9、If i Mod j = 0 Thenn = n + 1End IfNext jIf n Mod 2 = 1 ThenPrint iExit ForEnd IfNext iEnd Sub3、 已知 24 有 8 个正整数因子(即: 1,2,3,4,6,8,12,24),而 24 正好被其因子个数 8 整除。问100,300 之间有多少个这样的数。(19)Private Sub Form_Click()Dim m%,i%,n%,j%m = 0For i = 100 To 300n = 0For j = 1 To iIf i Mod j = 0 Thenn = n + 1End IfNext jI

10、f i Mod n = 0 Thenm = m + 1End IfNext iPrint mEnd Sub4、 一个数如果刚好与小于它的所有因子之和相等,则称该数为一个“完数” ,如:6=1+2+3,则 6 就是一个完数。求出 400 以内10的所有完数之和。(34)Private Sub Form_Click()Dim s%,i%,t%,j%s = 0 保存完数的和For i = 1 To 400t = 0 保存 i 的所有小于它本身的因子之和For j = 1 To i - 1If i Mod j = 0 Thent = t + jEnd IfNext jIf t = i Then 判断

11、i 是否符合完数的条件s = s + iEnd IfNext iPrint sEnd Sub其他:关键在于弄清楚要选择出来的数所具备的特征。1、 3,500 内所有素数之和。 (21534)方法一:Private Sub Form_Click()dim i%,s%s=0 保存素数的和for i=3 to 500 for j=2 to i-1 若内循环正常结束,说明 i 是素数,此时 j 的值为 i;否则 i 不是素数,此时 j 的值小于等于 i-1if i mod j =0 thenexit forend ifnext jif j=i then 根据 j 的取值,判断 i 是否为素数s=s+i

12、end ifnext iprint send sub方法二:Private Sub Form_Click()Dim i%, s%s = 0 保存素数的和For i = 3 To 500n = 0 n 用来统计 i 的因子的个数For j = 2 To i - 1 If i Mod j = 0 Thenn = n + 1End IfNext jIf n = 0 Then s = s + iEnd IfNext iPrint sEnd Sub2、 求1,1000之间有多少个同构数。同构数是这样一个数,它出现在它的平方数的右侧,例如:5 的平方是25,25 的平方是 625,故 5 和 25 都是同

13、构数。 (7)Private sub form_click( )Dim i&,n%n=0For i=1 to 1000j=i*iIf i=(j mod 10 ) or i=(j mod 100) or i=(j mod 1000) then i 有可能为 1 位数、2 位数、3 位数,所以三个条件中只要满足一个条件即可。n=n+1End ifNext iPrint nEnd sub113、 编写程序,求出 3 到 200 之间的所有非偶数非素数的数的个数。 (54)Private Sub Form_Click()Dim s%, n%, i%s = 0For n = 3 To 200 Step 2For i = 2 To n - 1If n Mod i = 0 Thens = s + 1Exit For i 是 n 的一个因子,所以 n 是非素数,exit for 调出内层循环,去取下一个 nEnd IfNext iNext nPrint sEnd Sub

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 网络科技 > Visual Basic

本站链接:文库   一言   我酷   合作


客服QQ:2549714901微博号:道客多多官方知乎号:道客多多

经营许可证编号: 粤ICP备2021046453号世界地图

道客多多©版权所有2020-2025营业执照举报