Delhi's Odd Even : Problem Sets

#include
using namespace std;
int main(){
int n;
cin>>n;
for(int i =1; i<=n;i++){
int no;
cin>>no;
int sum=0;
while(no>0){
int ld = no%10;
sum = sum + ld;
no = no/10;
}
if(sum%2==0){
if (sum%4==0){
cout<<“Yes”<<endl;
}
else if(sum%4!=0){
cout<<“No”<<endl;
}
}
else {
if(sum%3==0){
cout<<“Yes”<<endl;
}
else if(sum%3!=0){
cout<<“No”<<endl;
}
}
}

return 0 ;

}

What is wrong in my code ?

@Riankk hey krishanu the logic of this problem is
For ex if you are given a no.:

982452

then maintain 2 variables evesum=0, oddsum = 0 ;
and they will be:

    9   +   8   +   2   +   4   +   5   +   2

evesum = 8 + 2 + 4 + 2 = 16
oddsum = 9 + 5 = 14
if((evesum%4==0)||(oddsum%3==0)){
cout<<“Yes”<<endl;
}else{
cout<<“No”<<endl;
}