题目

高精度除法常用于计算两个数位较大的数之间的除法运算,设被除数为s1,除数为s2,保存在字符串中。除法的基本思想是反复做减法,s1能够被s2减多少次,商就是多少。但是这样做显然比较慢。如下算法做了部分优化,以48695除以324为例: ①将324扩大100倍,32400只能被48695减去1次,则百位上的商是1; ②将324扩大10倍,3240能被前一次余的16295减去5次,则十位上的商就是5; ③对于324,不能被最后剩余的95减去,则个位上的商为0。所以最后的商的整数部分为150。 程序运行界面如图所示。 (1) 根据该算法计算5731423除以23345,十位上的商是。 (2) 阅读以下程序,在画线处填入合适的代码。 Dim s1, s2, s3, s, ans As String Dim tot As Integer, t As Integer Private Sub Command1_Click( )   Dim a, b, i, j, length As Integer   s1=Text1.Text:s2=Text2.Text:s3=""   Length=Len(s1)-Len(s2)   For i=1 To length       s2=s2+"0"   Next i   For i=0 To length       s=Mid(s2, 1, Len(s2)-1):tot=0       Do While   ①   or(Len(s1)=Len(s)And s1>=s)           tot=tot+1           ans="":flag=False           a=Len(s1):b=Len(s)           For j=a To 1 Step-1               t=0               If flag Then                 t=-1:flag=False               End If           If b>0 Then               t=t+Val(Mid(s1, j, 1))-Val(Mid(s, b, 1))           Else               t=    ②              End If           If t<0 Then                  ③                 flag=True           End If           ans=t&ans:b=b-1         Next j         s1=Val(ans)     Loop     s3=s3&tot   Next i   i=1   Do While Mid(s3,i,1)="0"         i=i+1   Loop   Text3.Text=Mid(s3,i,Len(s3)) End Sub 以上程序段运行时,为了实现上述功能,画线处应填入的代码分别为:①;②;③。 答案: 【1】4 【1】Len(s1)>Len(s)【2】t+Val(Mid(s1,j,1))【3】t=t+10
信息技术 试题推荐
最近更新