Visual Basic, .NET, ASP, VBScript
 

   
   
     

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

Страница: 1 |

 

  Вопрос: Опять чайница! Добавлено: 22.10.06 21:06  

Автор вопроса:  Ольга
Деление не в цикле. Число 17112227565 должно делится на 15!

Ответить

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

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



Вопросов: 224
Ответов: 3777
 Web-сайт: xury.zx6.ru
 Профиль | | #1
Добавлено: 22.10.06 21:29
а оно и делится...1140815171

Ответить

Номер ответа: 2
Автор ответа:
 User Unknown



Вечный Юзер!

ICQ: uu@jabber.cz 

Вопросов: 120
Ответов: 3302
 Профиль | | #2 Добавлено: 23.10.06 11:00
не надо просто засовывать это число в Integer

Ответить

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


Лидер форума

ICQ: 216865379 

Вопросов: 106
Ответов: 9979
 Web-сайт: sharpc.livejournal.com
 Профиль | | #3
Добавлено: 23.10.06 11:29
На 15 или 15! ? Это две большие разницы. Тем не менее, это число не поместится и в Long

Ответить

Номер ответа: 4
Автор ответа:
 -АлександР-



Вопросов: 55
Ответов: 1008
 Web-сайт: sham.clan.su
 Профиль | | #4
Добавлено: 23.10.06 16:09
Деление не в цикле. Число 17112227565 должно делится на 15!
Оль, объяви переменную, которой приравнивается результат As Double:
dim a as double
a = 17112227565/15
:)

Ответить

Номер ответа: 5
Автор ответа:
 Morpheus



Вопросов: 224
Ответов: 3777
 Web-сайт: xury.zx6.ru
 Профиль | | #5
Добавлено: 23.10.06 16:13
опа... чё то я пропустил (!)... вообще имхо дурацкая идея была приделать восклицательный знак в математику - это всё таки литературный символ... тогда ясно почему оверфлоу... но мне калькулятор (железный) выдаёт 0.013086001

Ответить

Номер ответа: 6
Автор ответа:
 Ольга



Вопросов: 3
Ответов: 2
 Профиль | | #6 Добавлено: 23.10.06 20:22
Ребят, спасибо за поддержку! Восклицательный знак от избытка чувств.As Double есть. Привожу задачу целиком: "Два двоичных числа вводятся строкой своих цифр, причем первое содержит не более 72 знаков, а второе, меньшее, – не более 14. Проверить делится ли первое число на второе".
Тест Первое число Второе число Ответ
1 1111011101101 1010111 Да
2 1111101111011101101 11101 Нет
3 11111101111101111011101101 11011 Нет
4 1111111011111101111101111011101101 1111 Да
При прохождении последнего теста выскакивает ошибка. В чем дело, понять не могу!

Ответить

Номер ответа: 7
Автор ответа:
 Sharp


Лидер форума

ICQ: 216865379 

Вопросов: 106
Ответов: 9979
 Web-сайт: sharpc.livejournal.com
 Профиль | | #7
Добавлено: 23.10.06 22:00
Вообще говоря, правильнее здесь использовать массивы и вычитание для определения делимости.

Ответить

Номер ответа: 8
Автор ответа:
 Artyom



Разработчик

Вопросов: 130
Ответов: 6602
 Профиль | | #8 Добавлено: 23.10.06 23:29
Вообще говоря, правильнее здесь использовать массивы и вычитание для определения делимости.

Можно поподробнее?

Ответить

Номер ответа: 9
Автор ответа:
 -АлександР-



Вопросов: 55
Ответов: 1008
 Web-сайт: sham.clan.su
 Профиль | | #9
Добавлено: 23.10.06 23:57
Тест Первое число Второе число Ответ
1 1111011101101 1010111 Да
2 1111101111011101101 11101 Нет
3 11111101111101111011101101 11011 Нет
4 1111111011111101111101111011101101 1111 Да
При прохождении последнего теста выскакивает ошибка. В чем дело, понять не могу!
Хм... Код могна посмотреть?

Ответить

Номер ответа: 10
Автор ответа:
 Sharp


Лидер форума

ICQ: 216865379 

Вопросов: 106
Ответов: 9979
 Web-сайт: sharpc.livejournal.com
 Профиль | | #10
Добавлено: 24.10.06 20:00
1111011101101 / 1010111
Добавляем второму числу максимальное число нулей в конец так, чтобы оно было меньше первого и вычитаем его из первого:
1111011101101
1010111000000
-------------
 100100101101
Повторяем операцию с полученным числом
100100101101
 10101110000
------------
  1110111101
и т.д., пока не получим число, меньшее первоначального второго - это будет остаток. Число необходимых вычитаний не превышает log[2](N)

Ответить

Номер ответа: 11
Автор ответа:
 Ольга



Вопросов: 3
Ответов: 2
 Профиль | | #11 Добавлено: 02.11.06 08:26
Dim n, m, k, i As Long, strA, strB As String
Private Sub cmd1_Click()
strA = InputBox("Введите первое двоичное число", "Первое число";)
strB = InputBox("Введите второе двоичное число", "Второе число";)
'Определение количества символов во втором числе
n = 0: k = Len(strB)
'Перевод второго числа в десятичное
For i = 1 To k
    n = n * 2 + Val(Mid$(strB, i, 1))
Next
'Определение количества символов в первом числе
m = 0: k = Len(strA): i = 1
'Перевод первого числа в десятичное
While i <= k
    m = m * 2 + Val(Mid$(strA, i, 1))
    i = i + 1
Wend
frm1.Print Str(m), Str(n)
'Проверка на делимость
m = m Mod n
If m = 0 Then
 MsgBox "Число " + strA + " делится на число " + strB, 64, "Ответ"
 Else
 MsgBox "Число " + strA + " не делится на число " + strB, 64, "Ответ"
End If
End Sub

Ответить

Страница: 1 |

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



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