API Java có cung cấp một hàm tính số nguyên tố lớn nhất tiếp theo cho đầu vào x không?Whats được xây dựng trong chức năng Tìm số nguyên tố lớn nhất tiếp theo trong java?
Trả lời
Đó sẽ là một phương pháp khá bí truyền, và không thực sự là một ứng cử viên tuyệt vời để đưa vào một thư viện lớp học chung. Bạn sẽ cần phải tự mình viết, bằng cách sử dụng test hoặc sieve.
rây được sử dụng để tìm kiếm tất cả số nguyên tố _less_ so với một số cụ thể - trong trường hợp này sử dụng phép thử :) –
Chắc chắn, nhưng bạn luôn có thể tạo số nguyên tố lên N * trước * và sau đó "tiếp theo" (dưới N) trở nên tầm thường. :) – dlev
tại sao nó sẽ là bí truyền? tại sao nó không phải là một ứng viên "tuyệt vời" cho một thư viện? và tại sao có một phương pháp trong JDK thực hiện chính xác điều này? BigInteger.nextProbablePrime(). tôi nghĩ rằng bạn đã không đưa ra câu trả lời đúng và tôi shure bạn đã không đưa ra giải pháp. –
Có, thực sự không có chức năng như vậy!
Có BigInteger.nextProbablePrime()
có thể phù hợp nếu bạn đang làm việc với số nguyên lớn. Nếu không, bạn có thể viết của riêng bạn một cách dễ dàng đủ. Dưới đây là một trong tôi đã chuẩn bị trước đó:
static long nextPrime(long previous) {
if (previous < 2L) { return 2L; }
if (previous == 2L) { return 3L; }
long next = 0L;
int increment = 0;
switch ((int)(previous % 6L)) {
case 0: next = previous + 1L; increment = 4; break;
case 1: next = previous + 4L; increment = 2; break;
case 2: next = previous + 3L; increment = 2; break;
case 3: next = previous + 2L; increment = 2; break;
case 4: next = previous + 1L; increment = 2; break;
case 5: next = previous + 2L; increment = 4; break;
}
while (!isPrime(next)) {
next += increment;
increment = 6 - increment; // 2, 4 alternating
}
return next;
}
này sử dụng một 2, 4 bánh xe để bỏ qua bội số của 2 và 3. Bạn sẽ cần một phương pháp kiểm tra số nguyên tố:
boolean isPrime(long toTest) { ... }
trả về true
nếu nó thông số là số nguyên tố, false
nếu không.
không phải là giải pháp? tất cả mọi người trong bài viết này đều nói rằng KHÔNG có phương pháp nào để lấy số nguyên tố - nhưng có. BigInteger.nextProbablePrime() như rossum nói. mọi người đang làm cho niềm vui của câu hỏi, nói rằng bạn nên làm bài tập ở nhà của riêng bạn, nhưng họ thậm chí không biết câu trả lời. –
public class nextprime {
public static void main(String args[]) {
int count = 0;
int n = 17;
for (int i = 2; i <= n/2; i++) {
if (n % i == 0) {
count++;
}
}
if (count == 0) {
System.out.println("prime");
for (int p = n + 1; p >0; p++) {
int y=0;
for (int i = 2; i <= p/2; i++) {
if (p % i == 0) {
y++;
}
}
if(y==0)
{
System.out.println("Next prime "+p);
break;
}
}
} else {
System.out.print("not prime");
}
}
}
Theo như tôi có thể đọc điều này, điều này đầu tiên sẽ xác định rằng 17 thực sự là nguyên tố, hơn là không xác định rằng 18 là không và sau đó xác định rằng 19 là. – SWeko
Primes.nextPrime(int n)
từ Apache Commons Math là những gì bạn cần.
Java lớp java.math.BigInteger chứa phương thức nextProbablePrime() để kiểm tra tính nguyên thủy của một số.
import java.math.BigInteger;
public class NextPrime {
public static void main(String[] args) {
int number = 83;
Long nextPrime = nextPrime(number);
System.out.println(nextPrime + " next prime to " + number);
}
/**
* method to find next prime
* @param number
* @return boolean
*/
private static Long nextPrime(int number) {
BigInteger bValue = BigInteger.valueOf(number);
/**
* nextProbablePrime method used to generate next prime.
* */
bValue = bValue.nextProbablePrime();
return Long.parseLong(bValue.toString());
}
}
Output: 89 đắc địa bên cạnh 83
Để biết thêm thông tin, xem blog của tôi:
http://javaexplorer03.blogspot.in/2016/05/generate-next-prime-of-number-in-java.html
- 1. Whats cách tốt nhất để tìm ngày "tiếp theo nhưng mới nhất" trong SQL?
- 2. Python - Tìm số lớn nhất trong danh sách số
- 3. Cách hiệu quả nhất để tìm kiếm nguyên tố tiếp theo trong một bộ phận
- 4. bash được xây dựng trong chức năng mã nguồn bash
- 5. jQuery nguyên mẫu và nhà xây dựng chức năng chaining
- 6. Python: max/min chức năng được xây dựng trong phụ thuộc vào thứ tự tham số
- 7. chức năng xây dựng trăn trên bay
- 8. Ruby: xây dựng cốt truyện chức năng
- 9. Mở rộng Python - xây dựng và kiểm tra các số nguyên lớn hiệu quả
- 10. CsvReader Chức năng tiếp theo
- 11. AttributeError trong python/NumPy khi xây dựng chức năng cho các giá trị nhất định
- 12. Xây dựng chức năng biểu tượng piecewise trong Matlab
- 13. Số nguyên tố Java BigInteger
- 14. Số nguyên lớn trong C#
- 15. Chức năng sàn số nguyên C++
- 16. Whats cách tốt nhất để gửi QStrings trong một cuộc gọi chức năng là gì?
- 17. được xây dựng trong chức năng để tính toán chồng lên nhau trong Python
- 18. Tìm số nguyên tố sau một số cho sẵn
- 19. Làm tròn phao lên số nguyên tiếp theo trong javascript
- 20. làm tròn một số dấu phẩy động đến giá trị số nguyên tiếp theo trong java
- 21. Xác định nếu một số lượng nhất định là số nguyên tố trong Haskell
- 22. Quy trình xây dựng mã và chức năng nhúng
- 23. Định nghĩa chức năng của Clojure được xây dựng trong: def vs defn
- 24. Xây dựng quines (chức năng tự tái tạo)
- 25. Số học với số nguyên lớn tự do trong PHP
- 26. Tệp trùng lặp trong tệp được xây dựng theo Gradle
- 27. cảnh báo: không tương thích tuyên bố ngầm được xây dựng trong chức năng 'xyz'
- 28. Mặc định nhà xây dựng trong Java
- 29. Tôi có nên xây dựng ứng dụng web tiếp theo của mình trong ASP.NET MVC không?
- 30. Chức năng mẫu C++ cho mảng, vectơ, được xây dựng trong các loại, STL
Không cho đến khi bạn viết một. –
Tôi nghĩ rằng đối với một người nào đó tại Sun/Oracle để phát triển điều này; kiểm tra nó; QA nó; mã xem xét nó; ghi lại nó; và dịch tài liệu; cho một cái gì đó sẽ được RARELY sử dụng; sẽ là một sự lãng phí tiền bạc. – vcsjones
Iphone của bạn phải làm gì với câu hỏi này? – dave