Что состоит в том, чтобы проверить самый быстрый путь, являются ли два данных числа взаимно простыми?

Выставьте свой API.NET как веб-сервисы ASMX, и необходимо быть хорошими для движения.

РЕДАКТИРОВАНИЕ: Для большего количества сценариев тяжелого использования стоило бы изучить Windows Communication Foundation (WCF). Это имеет встроенную, настраиваемую поддержку безопасности, потоковой передачи, различные транспортные сценарии (HTTP, TCP/IP, локальные именованные каналы). Вы не ограничиваетесь кодированием сообщения SOAP, но это, вероятно, было бы самым легким путем к interop с Java.

я не слишком уверен в Вашем точном сценарии, но если Вы имеете дело с большими файлами, и код.NET и код Java оба работают локально, можно просто сохранить файл к жесткому диску пользователя с помощью.NET и затем выбрать его из приложения Java.

9
задан kennytm 25 November 2010 в 09:22
поделиться

2 ответа

Алгоритм Евклида (вычисляет gcd ) очень быстр. Когда два числа выбираются равномерно случайным образом из [1, n] , среднее количество шагов для вычисления их gcd составляет O (log n) . Среднее время вычисления, требуемое для каждого шага, квадратично по количеству цифр.

Существуют альтернативы, которые работают несколько лучше (т. Е. Каждый шаг субквадратичен по количеству цифр), но они эффективны только для очень больших целых чисел. См., Например, Об алгоритме Шёнхаге и субквадратичном целочисленном вычислении НОД .

12
ответ дан 4 December 2019 в 11:06
поделиться

if you're running on a machine for which division/remainder is significantly more expensive than shifts, consider binary GCD.

7
ответ дан 4 December 2019 в 11:06
поделиться
Другие вопросы по тегам:

Похожие вопросы: