Кто-нибудь знает о Java-библиотеке, которая может использоваться для предоставления всех простых чисел определенной длины (k). Например, если k = 2, библиотека предоставит: 11, 13, 17 .. 87.Java-библиотека для предоставления простых чисел определенной длины
3
A
ответ
2
1
Я также не знаю об библиотеке. Но вот какой-то код, который я написал, который может это сделать. Я думаю, что это довольно многоразовый для других нужд тоже:
package com.sandbox;
import org.junit.Test;
import static junit.framework.Assert.assertEquals;
import static junit.framework.Assert.assertTrue;
public class SandboxTest {
@Test
public void whenGettingNextThenItIsNextPrime() {
Primes primes = new Primes();
assertEquals((Long) 2L, primes.next());
assertEquals((Long) 3L, primes.next());
assertEquals((Long) 5L, primes.next());
assertEquals((Long) 7L, primes.next());
assertEquals((Long) 11L, primes.next());
}
@Test
public void whenPassingIn2ThenIsPrime() {
assertTrue(new Primes().isPrime(2));
}
@Test
public void getAllPrimesOfLength2() { //this does what your question asks
Primes primes = new Primes();
while (true) {
Long prime = primes.next();
int length = String.valueOf(prime).length();
if (length > 2) {
return; //we found them all
} else if (length == 2) {
System.out.println(prime);
}
}
}
}
А вот реализация:
package com.sandbox;
import java.util.Iterator;
public class Primes implements Iterator<Long>{
private long currentPrime = 1;
public boolean hasNext() {
return true;
}
public Long next() {
currentPrime++;
while (!isPrime(currentPrime)) {
currentPrime++;
}
return currentPrime;
}
/**
* Optimize this on your own
*/
public boolean isPrime(long numberInQuestion) {
for (int i = 2; i < numberInQuestion - 1; i++) {
if (numberInQuestion % i == 0) {
return false;
}
}
return true;
}
public void remove() {
throw new UnsupportedOperationException();
}
}
Смежные вопросы
- 1. Тестирование для простых чисел
- 2. Усечь строку чисел до определенной длины
- 3. Извлечение чисел определенной длины из списка
- 4. Определение простых чисел
- 5. Генератор простых простых случайных чисел
- 6. Сумма простых чисел для больших чисел
- 7. Программа для поиска простых чисел
- 8. Лекция евклида для простых чисел
- 9. Ферма для простых чисел Java
- 10. алгоритм python для простых чисел
- 11. Устранение неполадок для простых чисел
- 12. Ошибка логики для простых чисел
- 13. Алгоритм Python для простых чисел
- 14. Неверный выход для простых чисел
- 15. Python (jupyter) для простых чисел
- 16. Тест Lehmann для простых чисел
- 17. Regex соответствует определенной группе цифр определенной длины?
- 18. Дублирование простых чисел четных чисел
- 19. Генератор простых чисел
- 20. Эффективное хранение простых чисел
- 21. Логика простых чисел C++
- 22. Программа простых чисел
- 23. Расчет количества простых чисел
- 24. возвращает массив простых чисел
- 25. многопоточный поиск простых чисел
- 26. Очистка алгоритма простых чисел
- 27. простых чисел в R
- 28. Определение простых чисел Java
- 29. Оптимизируйте вычисления простых чисел
- 30. список Нахождения простых чисел
занимает более 2 бита, чтобы указать все номера, которые вы перечислили. –
@ Хантер, не уверен, что вы имеете в виду. Вы можете уточнить? –
База 10 номер 11 является '1011' в двоичном формате. Для отображения его двоичного представления требуется бит «4» –