1class Solution {2public int calculateSetBits(String s) {3int count = 0;4for (int i = 0; i < s.length(); i++) {5if (s.charAt(i) == '1') count++;6}7return count;8}910public boolean isPrime(int n) {11if (n == 0 || n == 1) return false;12for (int i = 2; i <= n / 2; i++) {13if (n % i == 0) return false;14}15// System.out.println(n+" - ");16return true;17}1819public int countPrimeSetBits(int left, int right) {20int count = 0;21for (int i = left; i <= right; i++) {22String b = Integer.toBinaryString(i);2324int n = calculateSetBits(b);2526if (isPrime(n)) count++;27}28return count;29}30}