THe code is failing in some of the test cases
#include
#include<math.h>
using namespace std;
int digitSum(int n){
int sum = 0;
while(n>0){
int temp = n%10;
sum += temp;
n /= 10;
}
return sum;
}
int prime(int n){
int temp = sqrt(n);
int sumprime = 0;
if(n==1 || n==0)
return 0;
if(n==2 || n==3)
return n;
else{
for(int i = 2; i<temp; i++){
while(n%i == 0){
sumprime += digitSum(i);
n /= i;
}
}
}
return sumprime;
}
int main() {
long long n;
cin>>n;
int sumofdigit = digitSum(n);
int sumofprime = prime(n);
if(sumofdigit == sumofprime){
cout<<“1”<<endl;
}
else{
cout<<“0”<<endl;
}
return 0;
}