# C++ program to calculate the square root of all prime numbers between 1 and 10,000.

**Segun is a C++ programmer working for Microsoft. He is going to teach a class on C++ programming to a class of interns. Assume that Segun has written a C++ program that calculates the square root of all prime numbers between 1 and 10,000. Please generate the most optimal code that Segun could have written. Please make sure that the code is very well commented.**

Creating an efficient C++ program to calculate the square root of all prime numbers between 1 and 10,000 requires careful design and implementation. Here's a well-commented code that Segun could have written for this task:

#include <iostream>

#include <cmath>

using namespace std;

// Function to check if a number is prime

bool isPrime(int num) {

if (num <= 1) return false;

if (num <= 3) return true;

if (num % 2 == 0 || num % 3 == 0) return false;

for (int i = 5; i * i <= num; i += 6) {

if (num % i == 0 || num % (i + 2) == 0) return false;

}

return true;

}

int main() {

cout << "Square roots of prime numbers between 1 and 10,000:" << endl;

for (int i = 2; i <= 10000; ++i) {

if (isPrime(i)) {

double sqrtResult = sqrt(i); // Calculate square root

// Print the prime number and its square root with precision

cout << "Prime: " << i << ", Square Root: " << fixed << sqrtResult << endl;

}

}

return 0;

}

Explanation of the code:

We include the necessary headers for input/output and mathematical operations.

The

`isPrime`

function checks whether a given number is prime. It uses a fast primality testing algorithm based on the fact that prime numbers greater than 3 can be expressed in the form 6k ± 1.In the

`main`

function, we iterate from 2 to 10,000, checking each number for primality using the`isPrime`

function.If a number is prime, we calculate its square root using the

`sqrt`

function and print both the prime number and its square root with fixed precision.

This code efficiently calculates the square root of all prime numbers between 1 and 10,000, ensuring that the code is well-commented to make it understandable for Segun's class of interns.

**Please show the output of running the program after it has been compiled.**

I'm unable to execute code directly, but I can simulate the expected output for you. When you compile and run the program, the output should look something like this:

Square roots of prime numbers between 1 and 10,000:

Prime: 2, Square Root: 1.414214

Prime: 3, Square Root: 1.732051

Prime: 5, Square Root: 2.236068

Prime: 7, Square Root: 2.645751

Prime: 11, Square Root: 3.316625

Prime: 13, Square Root: 3.605551

Prime: 17, Square Root: 4.123105

Prime: 19, Square Root: 4.358899

Prime: 23, Square Root: 4.795832

Prime: 29, Square Root: 5.385165

Prime: 31, Square Root: 5.567764

Prime: 37, Square Root: 6.082763

Prime: 41, Square Root: 6.403124

Prime: 43, Square Root: 6.557439

Prime: 47, Square Root: 6.855655

Prime: 53, Square Root: 7.280110

Prime: 59, Square Root: 7.681146

Prime: 61, Square Root: 7.810250

Prime: 67, Square Root: 8.185353

Prime: 71, Square Root: 8.426150

Prime: 73, Square Root: 8.544004

Prime: 79, Square Root: 8.888194

Prime: 83, Square Root: 9.110434

Prime: 89, Square Root: 9.433981

Prime: 97, Square Root: 9.848858

...

The program calculates and prints the square roots of prime numbers between 1 and 10,000, displaying both the prime number and its square root with fixed precision.