Visual Basic, .NET, ASP, VBScript
 

   
   
     

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

Страница: 1 |

 

  Вопрос: Задачка с числами Добавлено: 31.12.03 09:05  

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

Прошу помочь решить небольшую задачку!!!
Имеется число, кратное ряти. Например, 340. Мне нужно определить, сколько раз оно делится на 200, 100, 50, 20, 10, и 5 поочередно.

То есть в нашем случае: для  двухсот- это 1, ста-1, пятидесяти-0, двадцати- 20, десяти-0,пяти-0.
 
Вот такой вот нужен алгоритм для любого числа, кратного пяти.


Всем, кто откликнется - большое спасибо.

Ответить

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

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



Вопросов: 22
Ответов: 25
 Профиль | | #1 Добавлено: 31.12.03 09:09
Объясняю подробнее!

Алгоритм такой. Возьмем другое число(кратное 5).
Например 555.
Нам нужно проверить сколько раз оно делиться по убывающей от 200, 100, 50, 20, 10, 5. ПООЧЕРЕДНО
Проверяем.
Раскладываем число и получаем ответ
Делим на 200, получаем= 2, потом на 100, получаем 1, потом на 50- тоже 1,
потом на 20 - это 0, на 10 - это 0, на 5 - это 1.
Алгоритм похож, как в банкомате выдают сумму наименьшим количеством купюр, начиная с наибольшей. У меня только числа идут с 200...

Буду благодарен.

Ответить

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



Вопросов: 22
Ответов: 25
 Профиль | | #2 Добавлено: 31.12.03 09:11

Приведу опять пример. Есть число 65.
Проверяем
двухсотку- получаем 0,
сотку- 0,
пятидесятку- 1,
двадцатку- 0,
десятку -1,
пятерку- 1.

Но как это написать на VB???

Ответить

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



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

ICQ: 137392264 

Вопросов: 8
Ответов: 557
 Web-сайт: www.hypertech.ru
 Профиль | | #3
Добавлено: 31.12.03 09:31

Вот набросал кое что:

Dim lAmount As Long
Dim lComponents(5)
Dim i As Integer

lAmount = Val(Text1.Text)
lComponents(0) = Int(lAmount / 200)
lAmount = lAmount - lComponents(0) * 200
lComponents(1) = Int(lAmount / 100)
lAmount = lAmount - lComponents(1) * 100
lComponents(2) = Int(lAmount / 50)
lAmount = lAmount - lComponents(2) * 50
lComponents(3) = Int(lAmount / 20)
lAmount = lAmount - lComponents(3) * 20
lComponents(4) = Int(lAmount / 10)
lAmount = lAmount - lComponents(4) * 10
lComponents(5) = Int(lAmount / 5)

Debug.Print Val(Text1.Text)
For i = 0 To 5
    Debug.Print lComponents(i);
Next i
Debug.Print

Ответить

Страница: 1 |

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



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