Bài tập  /  Bài đang cần trả lời

Giải bài có thưởng!

Xét dãy số A các sô nguyên tố: 2, 3, 5, 7, 11, 13, 17, 19

Xét dãy số A các sô nguyên tố: 2, 3, 5, 7, 11, 13, 17, 19, Và dãy B gồm các số thu được từ dãy A bằng cách ghép 2 số liên tiếp trong A: 23, 57, 1113, 1719, Trong dãy B có những phần tử là số nguyên tố. Chẳng hạn: 23, 3137, 8389, 157163, Các số nguyên tố trong dãy B gọi là số nguyên tố ghép. Yêu cầu: Cho trước số nguyên K<=500, hãy tìm số nguyên tố ghép thứ K. Input Output 2 3137
c++ ạ mình cần gấp
0 Xem trả lời
Hỏi chi tiết
298
Tham khảo câu trả lời từ Trợ lý ảo Lazi
Dưới đây là một đoạn code C++ để tìm số nguyên tố ghép thứ K:

```cpp
#include
#include

using namespace std;

bool isPrime(int n) {
if (n <= 1) {
return false;
}
for (int i = 2; i * i <= n; i++) {
if (n % i == 0) {
return false;
}
}
return true;
}

int main() {
vector primes = {2, 3, 5, 7, 11, 13, 17, 19};
vector compositePrimes;

for (int i = 0; i < primes.size() - 1; i++) {
int compositePrime = primes[i] * 100 + primes[i + 1];
if (isPrime(compositePrime)) {
compositePrimes.push_back(compositePrime);
}
}

int k;
cin >> k;

cout << compositePrimes[k - 1] << endl;

return 0;
}
```

Đầu tiên, chúng ta kiểm tra xem một số có phải là số nguyên tố không bằng hàm `isPrime`. Hàm này sử dụng phương pháp kiểm tra số nguyên tố thông thường.

Sau đó, chúng ta tạo một vector `primes` chứa các số nguyên tố ban đầu từ dãy A. Tiếp theo, chúng ta tạo một vector `compositePrimes` để lưu trữ các số nguyên tố ghép từ dãy A.

Chúng ta duyệt qua các số trong vector `primes` và ghép hai số liên tiếp để tạo ra các số nguyên tố ghép. Nếu số ghép được là số nguyên tố, chúng ta thêm nó vào vector `compositePrimes`.

Cuối cùng, chúng ta nhập số nguyên K từ người dùng và in ra số nguyên tố ghép thứ K từ vector `compositePrimes`.

Lưu ý: Đoạn code trên chỉ áp dụng cho K <= 500, vì dãy A chỉ chứa 8 số nguyên tố ban đầu. Nếu K > 500, bạn cần mở rộng dãy A bằng cách tìm thêm các số nguyên tố ban đầu.

Bạn hỏi - Lazi trả lời

Bạn muốn biết điều gì?

GỬI CÂU HỎI
Học tập không giới hạn cùng học sinh cả nước và AI, sôi động, tích cực, trải nghiệm

Hôm nay bạn thế nào? Hãy nhấp vào một lựa chọn, nếu may mắn bạn sẽ được tặng 50.000 xu từ Lazi

Vui Buồn Bình thường
×
Trợ lý ảo Trợ lý ảo
×
Đấu trường tri thức | Lazi Quiz Challenge +500k
Gửi câu hỏi
×