Visual Basic, .NET, ASP, VBScript
 

   
   
     

Форум - Общий форум

Страница: 1 |

 

  Вопрос: Колония амеб Добавлено: 10.11.03 13:59  

Автор вопроса:  Ronald_007

Подскажите, пожалуйста, как решить задачку:

В колонии амеб население увеличивается каждые 3 часа в 2 раза. Жизнь амебы 12 часов.

Подсчитать население амебы через n часов.

Решить с помощью циклов в Бейсике.

Ответить

  Ответы Всего ответов: 2  

Номер ответа: 1
Автор ответа:
 boevik



Хранитель чата

ICQ: 137392264 

Вопросов: 8
Ответов: 557
 Web-сайт: www.hypertech.ru
 Профиль | | #1
Добавлено: 10.11.03 15:14

С лету не долго думая:

Dim N(100) as Long 'кол-во амеб, где индех - час

N(1) = 10 'начальное ко-во амеб

For i = 2 to n

N(i) = N(i-1) + N(i-3) - N(i-12)

next i

N(i) - кол-во амеб в час i

N(i-1) - кол-во амеб в предыдущий час

N(i-3) - кол-во амеб три часа назад (увеличение население)

N(i-12) - кол-во амеб 12 часов назад (отмирание)

Ответить

Номер ответа: 2
Автор ответа:
 Pashenko



ICQ: 176176951 

Вопросов: 14
Ответов: 655
 Профиль | | #2 Добавлено: 10.11.03 15:32
На самом деле, условия задачи не совсем корректные (не сказано,
умирающие в текущей итерации амёбы участвуют в размножении или нет).
Если участвуют, то алгоритм такой:

Dim Num As Long, Num1 As Long, Num2 As Long, Num3 As Long, Num4 As Long
Dim i As Integer, j As Integer
i = InputBox("Кол-во часов")
i = i / 3
Num = InputBox("Кол-во амёб")
Num1 = 0
Num2 = 0
Num3 = 0
Num4 = 0
For j = 1 To i
Num = Num * 2 - Num4
Num4 = Num3
Num3 = Num2
Num2 = Num1
Num1 = Num
Next j
MsgBox Num

Если не участвуют, то 11-ю строку надо изменить : Num = (Num - Num4) * 2
При этом популяция вымрет через 57 часов.

Ответить

Страница: 1 |

Поиск по форуму



© Copyright 2002-2011 VBNet.RU | Пишите нам