All test cases are not passed

my code
#include<bits/stdc++.h>
using namespace std;
int main() {
int n;
cin>>n;
int x=n;
int num=0;
while(x){
num+=x%10;
x/=10;
}

// cout<<num<<" ";
vector<int> primes;
while (n % 2 == 0)
{
    primes.push_back(2);
    n = n/2;
}

int z=sqrt(n);
for (int i = 3; i<=z; i = i + 2)
{
    while (n % i == 0)
    {
        primes.push_back(i);
        n = n/i;
    }
	if(n==1)
		break;
}
int sum=0;
for(int i=0;i<primes.size();i++){
	sum+=primes[i];
}
if(num==sum) cout<<1;
else cout<<0;
return 0;

}

what is the error