Điểm:
300 (p)
Thời gian:
1.0s
Bộ nhớ:
640M
Input:
bàn phím
Output:
màn hình
Một số được gọi là số nguyên tố cân bằng nếu nó là số nguyên tố có \(2k + 1\) chữ số \((k \in \mathbb{N}^*)\), trong đó có \(2k\) chữ số giống nhau và có đúng \(1\) chữ số ở vị trí chính giữa (tức vị trí thứ \(k + 1\) từ trái sang phải) là khác với các chữ số còn lại.
Ví dụ: Số \(7778777\) là số cân bằng.
Yêu cầu:
Nhập từ bàn phím \(1\) số nguyên dương \(k\) \((k \le 7)\). Hãy tính và in ra màn hình số lượng các số nguyên tố cân bằng có \(2k + 1\) chữ số.
Example
Test 1
Input
3
Output
7
Note
Có \(7\) số nguyên dương có \(2 \times 3 + 1\) chữ số là số nguyên tố: \(1114111;1117111; 3331333; 3337333; 7772777; 7774777; 7778777\)
Bình luận
bài này tưởng phải dùng miller-rabin ☠️
SPOILER ALERT
------------------------------
BRUTE FORCE (AC):
using namespace std;
bool snt(int n)
{
if (n < 2) return 0;
if (n < 4) return 1;
if (n % 2 == 0 || n % 3 == 0)
return 0;
for (int i = 5 ; i <= sqrt(n) ; i+=6)
if (n % i == 0 || n % (i+2) == 0) return 0;
return 1;
}
int a[10];
signed main()
{
int n; cin >> n;
for (int i = 1 ; i <= 9 ; i++) a[i] = i;
for (int i = 2 ; i <= n ; i++)
for (int j = 1 ; j <= 9 ; j++)
{
a[j] = a[j]10+j;
}
//test
int dem = 0;
for (int i = 0 ; i <= 9 ; i++)
for (int j = 1 ; j <= 9 ; j++)
{
long long ans = (a[j]10+i)*pow(10,n)+a[j];
if (snt(ans)) dem++;
}
cout << dem;
}
Dành cho những bạn nào bị bí ý tưởng có thể tham khảo. Mong mọi người đừng downvote!
Bình luận bị ẩn vì nhiều phản hồi tiêu cực. Nhấp vào đây để mở.
Spoiler Alert
Thực ra bài này có thuật toán cực kỳ dễ (chỉ đơn giản là kiểm tra số nguyên tố), tuy nhiên thử thách lớn nhất ở đây chính là việc vét hết toàn bộ các số có thể, và bạn (cần) phải có kỹ năng code ở mức trung bình \(\rightarrow\) cao.
Hướng dẫn
Tiếp cận
Độ phức tạp
Vì ta chạy hai vòng \(for\), mỗi vòng chạy đến \(9\), cộng thêm hàm kiểm tra số nguyên tố của \(n\) có \(2k + 1\) chữ số, vậy độ phức tạp tổng quát của bài này là \(\boxed{\mathcal{O}(9^2 + \sqrt{10^{2n + 1}})}\).
TLE
test cuối.Code tham khảo
\(\color{green}{\text{Preference Accepted Code}}\): Cài đặt, số nguyên tố
P/s: Nếu có gì sai sót, bạn có thể comment, xin đừng downvote, mình cảm ơn 😢
Mình đã chỉnh lại đề.
Ai cho mình xin ý tưởng bài này với :V
số 171 chia hết cho 3 sao đề bảo là số nguyên tố cân bằng nhỉ
Mình chưa làm bài này, nhưng mình nghĩ số số nguyên tố cân bằng cũng ít thôi đúng ko nhỉ ?
Bình luận bị ẩn vì nhiều phản hồi tiêu cực. Nhấp vào đây để mở.
Bình luận bị ẩn vì nhiều phản hồi tiêu cực. Nhấp vào đây để mở.
3 bình luận nữa