Visual Basic, .NET, ASP, VBScript
 

   
   
     

Форум - Офф-топ

Страница: 1 |

 

  Вопрос: Простая умножалка. А числа не простые :-) Добавлено: 19.04.05 22:27  

Автор вопроса:  Morpheus | Web-сайт: xury.zx6.ru
День добрый!
Написал прогу или скорее алгоритм (какая там прога-консоль чистый :-) для нахождения произведения двух целых чисел (хоть положительных хоть отрицательных хоть нулевых :). Ограничение полученного результата: 9.(9)*10^255 по моему и то это из-за того, что строки короткие. Скорость выполнения позволит работать и с гораздо большими числами, просто кому надо больше вводить :) Я вот чё прошу: если у кого есть подобная прога (или так, на глаз), не могли бы вы протестить на
правильность вычисления (а за одно и на скорость) мою прогу? я конечно всё проверял, но вдруг баги полезут :)
У меня в планах есть ипользовать этот алгоритм для вычисления офигенно больших степеней. Буду рад любому отзыву (если конечно смогу исправить возможные баги :-)
Вот адресс (10.3 Кб) :

http://www.superyurka.narod.ru/upload/xederix_multiply.zip

Заранее благодарен.
  

Ответить

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

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



Вопросов: 224
Ответов: 3777
 Web-сайт: xury.zx6.ru
 Профиль | | #1
Добавлено: 20.04.05 00:33
Странно :-/
99999*99999 вычисляет, а 999999999999999999*9999999999999999999999 вылетает :( Хотя такие числа как 65965438654964396436974396*754932754357439543753
(от балды набрал) запросто считает, скорее всего маленький глючок где-то

Ответить

Номер ответа: 2
Автор ответа:
 Страшный Сон



Вопросов: 46
Ответов: 848
 Профиль | | #2 Добавлено: 20.04.05 20:13
Ты это... Сделай лучше прогу, производящую операции с "неоднозначными числами", заданными набором интервалов. Крутая вещь будет.

Ответить

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



Вопросов: 224
Ответов: 3777
 Web-сайт: xury.zx6.ru
 Профиль | | #3
Добавлено: 20.04.05 20:35
2Страшный Сон
А чё за набор интервалов? Мож попробую :)

А ошибку я нашёл, там в одном месте буфер маленький выделил. Теперь, когда я её с паскаля н делфи перекомпилировал (размер блин страшный! 330 кб) она может перемножать числа длиной от одного конца комнаты до другого и без тормоза вообще только не знаю как проверить :(

Ответить

Номер ответа: 4
Автор ответа:
 Страшный Сон



Вопросов: 46
Ответов: 848
 Профиль | | #4 Добавлено: 21.04.05 16:18
А чё за набор интервалов?


Короче, такое число можно представить так, к примеру:

( -INF; -5 ] || [ 0 ] || ( 2.5 ; +INF )

Это значит, что число либо меньше или равно пяти, либо равно нулю, либо больше 2.5. А теперь объедидим его с этим числом:

[ -4 ; 4 ]

И получаем:

( -INF; -5 ] || [ -4 ; +INF )

Ответить

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



ICQ: 271202919 

Вопросов: 56
Ответов: 837
 Профиль | | #5 Добавлено: 21.04.05 17:46
я может что то не так делаю на при 32 девятках умноженных на 32 9 он
выдает не такой ответ как в каклькуляторе микрософтовском. введи в
Calc.exe на все поле девяток и умнож их на столькоже он выдаст 9,9999999999999999999999999999998e+63
что не вполне совпадает с твоим результатом. Может я не прав но я
руковдствуюсь тем, что мне выдает твоя прога и сравниваю с
калькулятором.

Ответить

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



Вопросов: 224
Ответов: 3777
 Web-сайт: xury.zx6.ru
 Профиль | | #6
Добавлено: 21.04.05 18:11
Vik, привет!
Да в такой роге просто невозможно огибиться. Скорее всего глюк мой.
А какую прогу ты использовал? ту, что я на емаил кинул на топике? Эта с глюком. Если всё же ты юзал прогу с есаила то вот результаты:
Calc: 9.9999999999999999999999999999998e+63
Моя: 9999999999999999999999999999999800000000000000000000000000000001
У тебя так? Если да, то подскажи где неточность?

Ответить

Страница: 1 |

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



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