Мне нужно решить проблему на C++, в которой я должен вычислить модуль числа, образованного как 10^n. Но проблема в том, что n - число с плавающей запятой, поэтому, если я вычисляю 10^n как pow (10.0, n), тогда он может переполняться. Поэтому я ищу решение, которое может вычислять 10^n mod m без проблемы переполнения. Я обычно использую Python, где это очень просто, я не знаю, как решить на C++.Как рассчитать mod log (n) для больших значений n
ответ
Как насчет rounding сначала, сохраняя цифры меньше 1 в переменной float (вы получите их, вычитая округленную переменную из исходного поплавка), а затем сделайте по модулю округленное значение. После этого добавьте переменную поплавка
Будет ли это решить вашу проблему?
EDIT (см комментарий и для лучшего взгляда ;-))
10^7.4 = 25118864.315[...]
--> round = 25118864,
float = 0.315,
round % 6 = 2,
--> (10^7.4)%6 = 2 + 0.315 = 2.315
в известково на окнах даст вам
Рассмотрите это, например, 10^7.4 mod 6. Таким образом, значение float равно 0.6, а округленное значение равно 7. 10^7 mod 6 дает 4, и если мы добавим значение float, оно будет 4.6. И правильный ответ - 2.315. –
no i означает круглый (10^7.4) – Martin
для лучшего понимания ... 10^7.4 = 25118864.315 [...] -> round = 25118864, float = 0.315, round% 6 = 2, (10^7.4)% 6 = 2 + 0,315 = 2,315, что то, что calc при окнах даст вам – Martin
- 1. (a/b) mod n для больших чисел?
- 2. Как рассчитать O (Log (N))?
- 3. Быстрый n выбрать k mod p для больших n?
- 4. (log (n))^log (n) и n/log (n), что быстрее?
- 5. Рассчитать асимптотический предел для log (n) + Ө (sqrt (n))
- 6. Каков порядок (log n)/(log (log n))?
- 7. Как вычислить n log n = c
- 8. Как O (n log n) отличается от O (log n)?
- 9. Сложность алгоритма, log^k n vs n log n
- 10. Является ли log (n!) = Θ (n · log (n))?
- 11. Почему этот цикл возвращает значение O (n log log n), а не O (n log n)?
- 12. n^2 log n сложность
- 13. Как рассчитать T (n) = 3T (n/3) + O (lg n)
- 14. Как рассчитать количество разделов n?
- 15. Является большим o для следующего O (n^2 * log (n)) или O (n^3 * log (n))
- 16. O (log log n) алгоритм для пола (√2 n)?
- 17. O (N * log (log (N))) алгоритм для пиков Кодильности?
- 18. Функции Big-Theta для времени работы в log (n!) И log (n) + log (n^2)
- 19. Быстрый алгоритм вычисления больших n! mod 2^32
- 20. Является ли O (n) + O (n log n) равным O (n log n)?
- 21. Сэмплирование Перестановки [1,2,3, ..., N] для больших N
- 22. Где функции 2n^2, 100n log n и (log n)^3 подходят в иерархии больших O?
- 23. Почему (n mod const) быстрее, чем (const mod n)?
- 24. Самый близкий парный алгоритм из (n log^2 n) в (n log n) time
- 25. Переполнение: a * a mod n
- 26. Матричный алгоритм возведения в степень для больших значений N
- 27. Вычисление ноты Not-O, O (n) * O (log n) = O (n log n)
- 28. Почему сортировка строки O (n log n)?
- 29. Если f (n) = O (g (n)), то log (f (n)) = O (log (g (n))?
- 30. Каким будет журнал (O (n * log (n)))?
Modulus не определен для чисел с плавающей точкой: если показатель степени с плавающей точкой , то выражение 'X^e' может привести к плавающей запятой. – Nawaz
log (n)! = 10^n ... Вы имеете в виду exp (n)? –
моя ошибка, я отредактировал вопрос. Если мне задано n = log (num), то я хочу найти 10^n% m, где n может быть числом с плавающей запятой. –