Điểm:
300 (p)
Thời gian:
1.5s
Bộ nhớ:
640M
Input:
bàn phím
Output:
màn hình
Một số nguyên dương \(n\) được gọi là một số siêu nguyên tố nếu \(n\) là số nguyên tố và khi ta
bỏ bao nhiêu chữ số tận cùng của \(n\) thì số tự nhiên mới tạo thành cũng là một số nguyên tố.
Ví dụ:
- Số 317 là số siêu nguyên tố vì số 317 là số nguyên tố, số 31 (bỏ 1 chữ số tận cùng
của 317) là số nguyên tố, số 3 (bỏ 2 chữ số tận cùng của 317) là số nguyên tố. - Số 61 không là số
siêu nguyên tố vì số 6 (bỏ 1 chữ số tận cùng của 61) không là số nguyên tố.
Yêu cầu: Viết chương trình nhập vào từ bàn phím một số nguyên dương \(n\ (0 < n < 10^9)\) và
in ra màn hình một từ khẳng định số \(n\) có phải là số siêu nguyên tố hay không.
Input
- Số nguyên dương \(n\) nhập từ bàn phím (\(0 < n < 10^9\)).
Output
- In ra màn hình một từ
PHAI
nếu \(n\) là số siêu nguyên tố; ngược lại, in ra màn
hình một từKHONG
nếu \(n\) không phải là số siêu nguyên tố
Scoring
- Subtask \(1\) (\(70\%\) số điểm): \(n\le 10^9\) theo đề chuẩn
- Subtask \(2\) (\(30\%\) số điểm): \(n\le 10^{16}\) mở rộng
Example
Test 1
Input
317
Output
PHAI
Test 2
Input
61
Output
KHONG
Bình luận
ai cần hint tui cho nè:
|| Hint
Số siêu nguyên tố phải có 8 chữ số trở xuống.
Chữ số 1 từ trái sang phải là snt, các chữ sau phải là số lẻ.
Nếu cả 2 thỏa mãn thì ta mới kt vét cạn theo đề bài
||
mong các bạn ac bài này
Có một cách khác đơn giản hơn (và cũng chậm hơn, nhưng vẫn AC. How??): nếu n > 73939133 thì in ra "KHONG" ngay, còn lại thì cứ kiểm tra vét cạn như đề.
(Cách này được sinh ra chỉ vì do bận hutcansa quá nên không có thời gian để viết code kiểm tra như huyhau6a2 🙂 )
tại sao mình biết là số siêu nguyên tố là số 8 chữ số là cao
vậy bạn
bạn có thể thử code sinh số siêu nguyên tố có n chữ số là thấy liền mà!!!