C++ code of the above question is given below
#include<iostream>
using namespace std;
//function defination
int beprisque(int n)
{ int x,y,p=0,q=0,i,j;
if(n>=1&&n<=10000)
{
x=n-1;
y=n+1;
//prime number check logic
for( i=2;i<=x;i++){
if(x%i==0)
break;
}
if(i==x)
p=1;
//square number check logic
for(j=0;j<=y/2;j++)
{
if(y==j*j)
q=1;
}
}
else
cout<<"please enter a number between
1-10000"<<endl;
if(p==1 && q==1 || n==1 || n==2)
return 1;
else
return 0;
}
//driver code
int main()
{
int num,x;
cout<<"enter a number between
1-10000"<<endl;
cin>>num;
x=beprisque(num); //function call
if(x==1)
cout<<num<<"is a beprisque number";
else
cout<<num<<"is not a beprisque
number";
}
screen shot of the above program is given below


result of the above program is given below

If a number is the only number between a prime number and a square number it...