一道vb编程题一、编程题(26分)【题目】编写程序,找出给定数据范围内所有的盈余数。所谓盈余数是指除自身以外的因子之和大

一道vb编程题
一、编程题(26分)
【题目】编写程序,找出给定数据范围内所有的盈余数。所谓盈余数是指除自身以外的因子之和大于其自身的整数。例如:12的因子有1、2、3、4、6,1+2+3+4+6=16>12,所以12就是一个盈余数。
【编程要求】
1. 程序参考界面如图所示,编程时不得增加或减少界面对象或改变对象的种类,窗体及界面元素大小适中,且均可见;
2. 运行程序,在“A”文本框中输入数据范围的起始值,在“B:”文本框中输入数据范围的结束值,按“查找”按钮,则将数据范围内的盈余数按参考界面中的格式输出到列表框中;按“清除”按钮,将文本框和列表框清空,焦点置于“A:”文本框上;按“结束”按钮,结束程序运行;
3. 程序中应至少定义一个通用过程,用于求一个整数的因子及所有因子之和,或用于判断一个整数是否为盈余数。
cxzsbb 1年前 已收到1个回答 举报

浪子爱我 幼苗

共回答了27个问题采纳率:96.3% 举报

Function yys(num As Long) As Boolean'判断一个数是否是盈余数
If num < facSum(num) Then
yys = True'盈余数
Else
yys = False'不是盈余数
End If
End Function
Function facSum(num As Long) As Long'求一个数的因子和
Dim fac As Long
facSum = 1
For fac = 2 To Sqr(num)
If num Mod fac = 0 Then
Debug.Print fac, num / fac
facSum = facSum + fac
facSum = facSum + num / fac * IIf(fac = num / fac, 0, 1) '如果num是平方数,则sum的平方根只加1次。
End If
Next fac
End Function没有图,不好做界面。给出你求因子和及判断是否是盈余数的两个函数。

1年前

3
可能相似的问题
Copyright © 2024 YULUCN.COM - 雨露学习互助 - 17 q. 0.112 s. - webmaster@yulucn.com