fork download
  1. #include <iostream>
  2. #include <vector>
  3.  
  4. using namespace std;
  5.  
  6. bool isPrime(int n) {
  7. if (n <= 1)
  8. return false;
  9. for (int i = 2; i * i <= n; ++i) {
  10. if (n % i == 0)
  11. return false;
  12. }
  13. return true;
  14. }
  15.  
  16. bool isPalindrome(int n) {
  17. int reversed = 0, remainder, original = n;
  18. while (n != 0) {
  19. remainder = n % 10;
  20. reversed = reversed * 10 + remainder;
  21. n /= 10;
  22. }
  23. return original == reversed;
  24. }
  25.  
  26. int sumOfPalindromicPrimes(int l, int r) {
  27. int sum = 0;
  28. for (int i = l; i <= r; ++i) {
  29. if (isPrime(i) && isPalindrome(i)) {
  30. sum += i;
  31. }
  32. }
  33. return sum;
  34. }
  35.  
  36. int main() {
  37. int T;
  38. cin >> T;
  39. vector<int> results;
  40. for (int t = 0; t < T; ++t) {
  41. int l, r;
  42. cin >> l >> r;
  43. results.push_back(sumOfPalindromicPrimes(l, r));
  44. }
  45. for (int result : results) {
  46. cout << result << endl;
  47. }
  48. return 0;
  49. }
Success #stdin #stdout 0s 5300KB
stdin
2
1 10
101 200
stdout
17
755