dtob.frm

来自「算法教案」· FRM 代码 · 共 44 行

FRM
44
字号
VERSION 5.00
Begin VB.Form Form1 
   Caption         =   "Form1"
   ClientHeight    =   3945
   ClientLeft      =   60
   ClientTop       =   450
   ClientWidth     =   6720
   LinkTopic       =   "Form1"
   ScaleHeight     =   3945
   ScaleWidth      =   6720
   StartUpPosition =   3  '窗口缺省
End
Attribute VB_Name = "Form1"
Attribute VB_GlobalNameSpace = False
Attribute VB_Creatable = False
Attribute VB_PredeclaredId = True
Attribute VB_Exposed = False

Private Sub Form_Load()
    Dim K(1 To 11) As Integer  '定义数组下标最大为11,2的11方=2048>1999
    Dim a, b, c As Integer
    Dim i, j, w As Integer
    Form1.Show
    c = 0
    For i = 1 To 1000
        a = 0       '采用除2取余法将十进制数化二进制数,结果存放在数组K中
        j = i * 2 - 1
        Do While j > 0
           a = a + 1
           K(a) = j Mod 2
           j = j \ 2
        Loop
      
        w = 0          '统计数组K中1的个数,结果存放在变量w中
        For b = a To 1 Step -1
           If K(b) = 1 Then w = w + 1
        Next b
      
        If w = 3 Then c = c + 1
    Next i
    Print "在前1000个奇自然数中,恰好有三位为1的二进制数的个数有"; c; "个。"
End Sub

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?