![]() |
|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
![]() |
|
Опции темы | Поиск в этой теме |
![]() |
#1 |
Новичок
Джуниор
Регистрация: 07.06.2010
Сообщений: 1
|
![]()
Помогите обьяснить ход решения задачи и команды которые в коде. совсем запутался не могу ниче поделать.
наити три простых числа в интервале 10 до 99 , величины которых образуют стороры треугольника код в визуал беисике Private Sub Command1_Click() Dim p(3) pn = 0 ======>не понятно 'поиск простых чисел =======> не понятно 5 For i = 10 To 99 ====> не понятно что за цифрв 5 f = 0 For j = 2 To i - 1 ====== не понятно If i Mod j = 0 Then f = 1 Next If f = 0 Then pn = pn + 1 p(pn) = i If pn = 3 Then GoTo 10 ======> тут все не понятно End If Next 10 =====> что это за число 10 ,почему оно тут. a = p(1) b = p(2) c = p(3) 'проверка неравенств треугольника If a + b <= c Or a + c <= b Or b + c <= a Then p(1) = p(2): p(2) = p(3): pn = 2: GoTo 5 ==== тоже заранее спасибо Text1.Text = a Text2.Text = b Text3.Text = c |
![]() |
![]() |
![]() |
#2 | ||||
Форумчанин
Регистрация: 12.04.2010
Сообщений: 134
|
![]() Цитата:
[QUOTE]5 For i = 10 To 99 ====> не понятно что за цифрв 5/QUOTE] цифра 5 тупо метка Цитата:
Цитата:
Цитата:
кому нужна помощь! жду в аське и скайпе!
|
||||
![]() |
![]() |
![]() |
#3 |
Форумчанин
Регистрация: 12.05.2010
Сообщений: 219
|
![]()
GoTo 5 ==== тоже
все эти "непонятные" числа - это метки. Т.е. после операции GoTo 5 программа переходит к выполнению поиска простых чисел, т.е. к строке 'поиск простых чисел =======> не понятно 5 For i = 10 To 99 ====> не понятно что за цифрв 5 For j = 2 To i - 1 ====== не понятно If i Mod j = 0 Then f = 1 Next тут программа тупо перебирает все числа от 2 до i-2 и смотрит, не равен ли остаток от деление числа i на какое-нибудь из этих чисел 0. Если равен - число явно не простое. Если не равен - все ок. Диапазон 2-(i-1) выбран потому что нет смысла делить число на 1 и на само себя. If f = 0 Then если число, которое мы рассматриваем, оказалось простым... pn = pn + 1 p(pn) = i занесли его в массив простых чисел следующим по списку. среди уже занесенных If pn = 3 Then GoTo 10 ======> тут все не понятно если таких простых чисел уже накопилось 3, проверяем, могут ли они являться сторонами треугольника If a + b <= c Or a + c <= b Or b + c <= a Then p(1) = p(2): p(2) = p(3): pn = 2: GoTo 5 ==== тоже если не могут, то выкидываем первое из найденных чисел из массива (меньшее), два других сдвигаем со 2 и 3 позиции на 1 и 2 соответственно, длину массива pn делаем равной 2 и ищем следующее простое число, перейдя на строку с меткой 5 |
![]() |
![]() |
![]() |
![]() |
||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Pascal В интервале целых чисел найти все числа кратные 7 | NewBi | Помощь студентам | 5 | 19.03.2010 19:55 |
Си наити факториал большого числа и вывести в виде массива | Владимир #include | Помощь студентам | 2 | 28.10.2008 13:13 |
True или False, в зависимости от того, имеют три данных числа одинаковую четность | DjVidan | Помощь студентам | 4 | 12.10.2008 22:02 |
Даны три числа. Выберите те из них, которые принадлежат заданному отрезку [а, b]. | Sheff903 | Помощь студентам | 1 | 27.11.2007 21:28 |