Theo mình thì nên dùng quay lui để giải bài này.
Số siêu ngtố có dạng sau a[1]a[2]..a[n]
Đầu tiên, thử cho a[1] tất cả các giá trị mà nó có thể nhận, rồi thử tiếp đến a[2],.. cho đến a[n]. Làm như vậy nhanh hơn rất nhiều so với cách duyệt của bạn.
Vd n = 9, pp của bạn sẽ duyệt tất cả các số từ 100000000 -> 999999999, với mỗi số lại phải kt số đó có phải là số nt ko.
Còn cách của mình sẽ thử cho a[1] các giá trị từ 1 -> 9, nếu nó ko phải số nguyên tố thì ko thử các chữ số tiếp theo nữa, như vậy sẽ loại được rất nhiều số. vd nếu thử a[1]=4 ko phải số ngt, nó sẽ ko xét đến các số có chữ số dầu tiên là 4 (loại được 10000000 số)