Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 10.12.2009, 18:13   #1
Slimbr
 
Регистрация: 09.12.2009
Сообщений: 6
Вопрос Кривой код

Поиск взаимнопростого числа
Реализация
VB.Net

Private Sub VPC2(ByVal M As Integer, ByRef D As Collection)

Dim X As Integer
Dim Y As Integer
Dim I As Integer
Dim J As Integer
Dim kol1 As New Collection
Dim kol2 As New Collection

X = M
Y = 1

For I = 2 To X
If X Mod I = 0 Then
kol1.Add(I)
End If
Next

X = X - 1
Do Until Y = X
11:
Y = Y + 1
If Y >= X Then
kol2.Clear()
Exit Do
End If

For I = 2 To Y
If Y Mod I = 0 Then
For J = 1 To kol1.Count
If kol1(J) = I Then
kol2.Clear()
GoTo 11
End If
Next
kol2.Add(I)
End If
Next

For J = 1 To D.Count 'исключение простых чисел
If Y Mod D.Item(J) = 0 Then
GoTo 11
End If
Next

D.Add(Y)
kol2.Clear()

Loop

End Sub

вот как то так)

Вопрос по взаимно простому числу:
Нужно ли исключать простые числа из набора, такие как 9?

Вопрос по коду:
Есть ли алгоритм проще?
или
Как упростить код?
или
Как избавиться от GoTo?

Последний раз редактировалось Slimbr; 10.12.2009 в 18:24.
Slimbr вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Поиск непарного числа в файле lexus Помощь студентам 8 20.12.2009 20:40
Поиск числа Aleksandr Microsoft Office Excel 6 09.12.2009 15:33
Установка взаимно расположенных окружностей на плоскости. SVadiks Помощь студентам 2 30.11.2009 20:14
взаимно простое числы Cantana Помощь студентам 4 07.03.2008 08:46
Поиск числа, большего заданного pirozho4ek Паскаль, Turbo Pascal, PascalABC.NET 5 21.05.2007 21:39