Đây là câu 4 nên là một câu khó. Thoạt đầu đọc đề thì có vẻ rất dễ hiểu, nhưng khi xử lý code thì sẽ gặp nhiều khó khăn. Bởi theo định nghĩa tích riêng của một số là tích của số đó với các chữ số của nó. Và bài toán yêu cầu đếm các số có tích riêng thuộc khoảng [A; B] với 1 <= A, B <= 1018 , Như vậy A, B rất lớn. Một điều khó khăn nữa là: nếu a < b nhưng chúng ta sẽ không biết được TR(a) và TR(b) số nào lớn hơn. Ví dụ khi A = 20; B = 30 thì ta sẽ tìm được những số có tích riêng nằm trong khoảng [20; 30] là 5 và 12, có nghĩa trong khoảng này chỉ có 2 số cần tìm. Vậy công thức để máy tính tìm được 5 và 12 là gì, mời các bạn cùng tham khảo lời giải.
Đây là một bài khá hay về xử lý số nguyên tố và tổng bình phương các chữ số của một số. Ngoài ra bài này các bạn phải sử dụng kỹ thuật đếm để cho ra kết quả của test. Trong bài viết này, baitaponha.com xin trình bày cho các bạn về thuật toán sàng nguyên tố Eratosthenes. Mời các bạn cùng tham khảo.