Составить программу, которая для натуральных чисел m и n вычисляет период десятичной дроби m/n - VB
Формулировка задачи:
Помогите пожалуйста сделать такую интересную программу(а то все перепробывал нифига не выходит)
Составить программу, которая для натуральных чисел m и n вычисляет период десятичной дроби m/n. Hапример, для дроби 1/7 периодом будет (142857), а если дробь конечная, то ее период состоит одной цифры 0.
Решение задачи: «Составить программу, которая для натуральных чисел m и n вычисляет период десятичной дроби m/n»
textual
Листинг программы
- Function p$(n, m)
- Const L = 200
- Dim tr%, i%, j%, k%, o%
- Dim t$, r$, r1r
- Dim nr
- nr = n: t = ""
- For i = 1 To L
- n = n - Int(n / m) * m
- t = t & Int(10 * n / m)
- n = n * 10
- Next i
- For o = 1 To L \ 3
- For j = o To L \ 3 + 1
- For i = j To L \ 3 + 2
- r = Mid(t, j, i - j + 1)
- tr = 0: r1 = 0
- For k = i + 1 To L - (i - j + 1) Step Len(r)
- r1 = Mid(t, k, i - j + 1)
- If r1 <> r Then
- tr = 1
- Exit For
- End If
- Next k
- If tr = 0 Then
- p = nr & "/" & m & " = " & nr \ m & "." & Mid(t, 1, j - 1) & "(" & r1 & ")"
- Exit Function
- End If
- Next i
- Next j
- Next o
- p = nr & "/" & m & " = " & nr \ m & "." & Mid(t, 1, j - 1)
- End Function
- Private Sub Command1_Click()
- m = Val(Text2.Text)
- n = Val(Text1.Text)
- If m <> 0 Then Label1 = p(n, m)
- End Sub
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д