Bedao Regular Contest 21 - Số chín ước
Xem dạng PDF
Gửi bài giải
Điểm:
0,01 (OI)
Giới hạn thời gian:
1.0s
Giới hạn bộ nhớ:
256M
Input:
stdin
Output:
stdout
Tác giả:
Dạng bài
Ngôn ngữ cho phép
C, C++, Go, Java, Kotlin, Pascal, PyPy, Python, Rust, Scratch
Số chín ước là số có chính xác ~9~ ước nguyên dương. Ví dụ:
- Số ~36~ là một số chín ước vì ~36~ có ~9~ ước nguyên dương là ~1, 2, 3, 4, 6, 9, 12, 18~ và ~36~.
- Số ~2006~ không phải là một số chín ước do ~2006~ chỉ có ~8~ ước nguyên dương là ~1, 2, 17, 34, 59, 118, 1003~ và ~2006~.
đang rất tò mò về số chín ước và muốn biết một số ~n~ có phải là số chín ước không? Các bạn hãy giúp trả lời câu hỏi nhé.
Input
Dòng đầu tiên gồm một số nguyên ~T (1 \le T \le 10)~ ~-~ Thể hiện số lượng số cần trả lời.
Dòng thứ hai gồm ~T~ số nguyên ~X_i (1 \le X_i \le 10^{18})~ ~-~ Thể hiện số thứ ~i~ cần trả lời.
Output
- Gồm ~T~ dòng, in ra YES nếu ~X_i~ là số chín ước, ngược lại in ra NO.
Scoring
| Subtask | Điểm | Giới hạn |
|---|---|---|
| 1 | ~10~ | ~X_i \le 10^6~ |
| 2 | ~30~ | ~X_i \le 10^{12}~ |
| 3 | ~60~ | Không có ràng buộc gì thêm |
Sample Input 1
6
36 256 144 10 6 2006
Sample Output 1
YES
YES
NO
NO
NO
NO

Bình luận
include<bits/stdc++.h>
define ll long long
define N int(1e6)
using namespace std; bool check(ll n){ ll s=1; for (int i=2;ii<=n;i++){ int t=0; while(n%i==0){ t++; n/=i; } s=2t+1; } if (n>1) s=3; if (s==9) return true; return false; } int main(){ iosbase::syncwith_stdio(0);cin.tie(0);cout.tie(0); int t; ll x; cin>>t; for (int i=1;i<=t;i++){ cin>>x; ll m=sqrt(x); if (m*m==x&&check(m)) cout<<"YES"<<"\n"; else cout<<"NO"<<"\n"; } return 0; }
Bài này thật sự rất HAY nhưng đối với nhiều bạn mới thì nó cũng rất KHÓ .
Mình đã AC bài này với 0.00 s và 2.1 MB : https://oj.vnoi.info/submission/9980343
Nếu bạn sử dụng code của mình thì hãy để lại 1 upvote cho mình vì nó tạo ra động lực cho mình rất nhiều ạ!
các cao nhân chỉ mình giải bài này với, mình chỉ ăn được 2 subs đầu!
https://ideone.com/XhSTEI Bài văn tự cổ
https://ideone.com/H1vM6n Bài ảo thuật giáng sinh
Bình luận này đã bị ẩn vì có quá nhiều phản ứng tiêu cực. Nhấn để xem.
Muốn dài dòng thì làm Prime Factorization. Lên mạng kiếm cách để biết một số có bao nhiêu ước để tìm hiểu thêm. Tính trả lời cái bình luận kia mà nó post qua đây luôn rồi
e chỉ ac đc 40test th ạ a cho e xin code mẫu với ạ
Bình luận này đã bị ẩn vì có quá nhiều phản ứng tiêu cực. Nhấn để xem.
Bình luận này đã bị ẩn vì có quá nhiều phản ứng tiêu cực. Nhấn để xem.