#include <iostream>
#include <vector>
#include <cmath>
bool isPrime(int n) {
//if number less than 2 return false.
if (n < 2) return false;
//if number the number is 2, return true.
if (n == 2) return true;
//if the number is divisible by 2 return false.
if (n % 2 == 0) return false;
//calculating the square root of the number.
int sqrt_n = sqrt(n);
for (int i = 3; i <= sqrt_n; i += 2) {
if (n % i == 0) return false;
}
return true;
}
int main() {
std::vector<int> primes;
// variable to store sum of prime numbers.
int sum = 0;
// last variable to iterate and check for the prime number.
int limit = 10000000;
for (int i = 5; i <= limit; i += 2) {
if (isPrime(i) && i % 10 != 3) {
primes.push_back(i);
sum += i;
}
}
std::cout << "Sum of primes from 5 to 10 million (excluding those ending with 3): " << sum << std::endl;
std::cout << "Number of primes: " << primes.size() << std::endl;
return 0;
}
I2luY2x1ZGUgPGlvc3RyZWFtPgojaW5jbHVkZSA8dmVjdG9yPgojaW5jbHVkZSA8Y21hdGg+Cgpib29sIGlzUHJpbWUoaW50IG4pIHsKCi8vaWYgbnVtYmVyIGxlc3MgdGhhbiAyIHJldHVybiBmYWxzZS4KaWYgKG4gPCAyKSByZXR1cm4gZmFsc2U7CgovL2lmIG51bWJlciB0aGUgbnVtYmVyIGlzIDIsIHJldHVybiB0cnVlLgppZiAobiA9PSAyKSByZXR1cm4gdHJ1ZTsKCi8vaWYgdGhlIG51bWJlciBpcyBkaXZpc2libGUgYnkgMiByZXR1cm4gZmFsc2UuCmlmIChuICUgMiA9PSAwKSByZXR1cm4gZmFsc2U7CgovL2NhbGN1bGF0aW5nIHRoZSBzcXVhcmUgcm9vdCBvZiB0aGUgbnVtYmVyLgppbnQgc3FydF9uID0gc3FydChuKTsKCmZvciAoaW50IGkgPSAzOyBpIDw9IHNxcnRfbjsgaSArPSAyKSB7CmlmIChuICUgaSA9PSAwKSByZXR1cm4gZmFsc2U7Cn0KCnJldHVybiB0cnVlOwp9CgppbnQgbWFpbigpIHsKc3RkOjp2ZWN0b3I8aW50PiBwcmltZXM7CgovLyB2YXJpYWJsZSB0byBzdG9yZSBzdW0gb2YgcHJpbWUgbnVtYmVycy4KaW50IHN1bSA9IDA7CgovLyBsYXN0IHZhcmlhYmxlIHRvIGl0ZXJhdGUgYW5kIGNoZWNrIGZvciB0aGUgcHJpbWUgbnVtYmVyLgppbnQgbGltaXQgPSAxMDAwMDAwMDsKCmZvciAoaW50IGkgPSA1OyBpIDw9IGxpbWl0OyBpICs9IDIpIHsKaWYgKGlzUHJpbWUoaSkgJiYgaSAlIDEwICE9IDMpIHsKcHJpbWVzLnB1c2hfYmFjayhpKTsKc3VtICs9IGk7Cn0KfQpzdGQ6OmNvdXQgPDwgIlN1bSBvZiBwcmltZXMgZnJvbSA1IHRvIDEwIG1pbGxpb24gKGV4Y2x1ZGluZyB0aG9zZSBlbmRpbmcgd2l0aCAzKTogIiA8PCBzdW0gPDwgc3RkOjplbmRsOwpzdGQ6OmNvdXQgPDwgIk51bWJlciBvZiBwcmltZXM6ICIgPDwgcHJpbWVzLnNpemUoKSA8PCBzdGQ6OmVuZGw7CnJldHVybiAwOwp9