注册 登录  
 加关注
   显示下一条  |  关闭
温馨提示!由于新浪微博认证机制调整,您的新浪微博帐号绑定已过期,请重新绑定!立即重新绑定新浪微博》  |  关闭

T3航站大楼

 
 
 

日志

 
 

[自编程序]分解质因数程序 v1.0版  

2009-08-28 13:43:48|  分类: 自编程序 |  标签: |举报 |字号 订阅

  下载LOFTER 我的照片书  |

因上周六受志明刺激(说来话长),遂回家自编如下程序,不尽完善,请各位多提意见。

主要缺陷:没有指数型显示,导致一些具有高次质因数(19次以上)的表达式不够空间显示(例如524288=2^19表达式太长)。

[自编程序]分解质因数程序 v1.0版 - Flyer - T3航站大楼

代码中提到的元件:

text1:输入框

command1:“分解质因数”按钮

label2:结果框(默认设置为12磅字)

 

多层结构嵌套的格式:

  1. 默认格式
  2. 加粗
  3. 斜体
  4. 红色
  5. 黄底
  6. 下划线


Function zhishu(i) As Boolean
 For d = 2 To Sqr(i) + 0.5
  If i Mod d = 0 Then
   zhishu = False
   Exit For
   Else
   zhishu = True
  End If

 Next
 If i = 2 Then zhishu = True
End Function


Private Sub Command1_Click()
Dim a As Double, b As Double, c As Long, d As Long

a = Val(Text1.Text)

Label2.FontSize = 12

If a Mod 1 = 0 And a > 2 Then
 If zhishu(a) = True Then
  Label2.Caption = Text1.Text & "是质数"
  Else
  Label2.Caption = a & " = "
  b = 2
  c = b
 
  Do While c <= a
  
   If a Mod c = 0 Then
   
    If zhishu(c) = True Then
     Label2.Caption = Label2.Caption & c & "×"
     a = a / c
     b = c
    
     Do While a Mod c = 0
      a = a / c
      Label2.Caption = Label2.Caption & c & "×"
     Loop
    
    End If
  
   End If
  
  c = c + 1
  Loop
 
  Label2.Caption = Left(Label2.Caption, Len(Label2.Caption) - 1)
 End If
 
 Else
 Label2.Caption = "请输入符合要求的数"
End If

Select Case Len(Label2.Caption)
 Case 33 To 39
  Label2.FontSize = 10
 Case 39 To 45
  Label2.FontSize = 8
 Case Is > 45
  Label2.Caption = "表达式超出显示范围"
End Select

End Sub

  评论这张
 
阅读(239)| 评论(7)
推荐 转载

历史上的今天

在LOFTER的更多文章

评论

<#--最新日志,群博日志--> <#--推荐日志--> <#--引用记录--> <#--博主推荐--> <#--随机阅读--> <#--首页推荐--> <#--历史上的今天--> <#--被推荐日志--> <#--上一篇,下一篇--> <#-- 热度 --> <#-- 网易新闻广告 --> <#--右边模块结构--> <#--评论模块结构--> <#--引用模块结构--> <#--博主发起的投票-->
 
 
 
 
 
 
 
 
 
 
 
 
 
 

页脚

网易公司版权所有 ©1997-2018