Нахождение двух неизвестных в прогрессии перебором - VB
Формулировка задачи:
Здравствуйте!
Как решить уравнение на перебор, надо найти a и b, если по условию:
a*(b^7 – 1) = 233991
Бегло и прикидочно ввёл ограничения, составил программу, ниже.
Ворох проблем...
Как долго мой VB6 будет считать? Может неправильно составил алгоритм? Как оптимизировать? Запустил программу в 10:18 мск, результатов пока никаких. Уже три четверти часа прошло.
Вроде бы считает, а что — неизвестно. Как бы теряем время на неопределённость. Что посоветуете?
Шучу: послали VB6 за пивом… и с концом. Не пива, не VB6.
Помогите, пожалуйста.
VB6 должен найти, угадать: 384*(2,5^7 – 1) = 233991; a = 384 и b = 2,5
Решение задачи: «Нахождение двух неизвестных в прогрессии перебором»
textual
Листинг программы
Option Explicit Private Sub Command1_Click() Dim a, b, k As Integer '...................поставить в свойствах 'Text1.MultiLine = True 'Text1.ScrollBars = 2 '......................................... Text1.Text = "" For a = 350 To 400 b = (233991 / a + 1) ^ (1 / 7) ' For b = 1 To 3 'If a * (b ^ 7 - 1) = 233991 Then k = k + 1 Text1.Text = Text1.Text & k & ") a=" & a & "; b= " & b & vbNewLine 'End If 'Next b Next a
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д