Why do I get a SIGABRT?

Why is my program causing SIGABRT error?

#define MOD 1000000007
#define N 100001
# define INT_MAX 9223372036854775807
# define INT_MIN -922337203654775808
using namespace std;

typedef long long int lli;


lli power(lli a,lli b){
	if(b==0){
		return 1;
	}
	
	lli temp=power(a,b/2);
	
	if(b%2==0){
		return temp*temp;
	}
	
	else{
		return a*temp*temp;
	}
}

lli actual(string str){
	lli num=0;
	lli ten=1;
	lli n=str.size();
	for(lli i=0;i<n;i++){
		 num=num+(str[i]-'0')*ten;
		 ten=ten*10;
	}
	return num;
}

lli required(lli n,lli times){
	  while(times!=0 &&  n!=0){
	  	  n=n/10;
	  	  times--;
	  }
	  return n;
}


lli gcd(lli num,lli den){
	  if(den==0){
	  	 return num;
	  }
	  return gcd(den,num%den);
}

bool comp(pair<lli,lli> a,pair<lli,lli> b){
	return a.second<=b.second;
}

vector<pair<lli,lli>>ans;

int main(){
   long long int t,i,j;
   ios_base::sync_with_stdio(false);
   cin.tie(NULL);
   while(true){
   	ans.clear();
    string x;
    cin>>x;
    if(x=="0"){
    	break;
	}
	string fraction="";
	for(lli i=2;x[i]!='.';i++){
		fraction=fraction+x[i];
	}
	//cout<<"fraction "<<fraction<<endl;
	
	lli n=fraction.size();
	lli ten_n=power(10,n);
//	cout<<"actual power "<<ten_n<<endl;
//	cout<<"n "<<n<<endl;
	string fraction_rev=fraction;
	reverse(fraction_rev.begin(),fraction_rev.end());
	lli actual_no=actual(fraction_rev);
//	cout<<"actual number "<<actual_no<<endl;
	fraction=' '+fraction;
	for(lli i=1;i<=n;i++){
	    lli ten_i=power(10,n-i);
//	    cout<<"required power "<<ten_i<<endl;
	    lli required_no=required(actual_no,i);
//	    cout<<"required number "<<required_no<<" required power "<<ten_i<<endl;
		lli num=actual_no-required_no;
		lli den=ten_n-ten_i;
//		cout<<"num "<<num<<endl;
		lli gcd_no=gcd(num,den);
		ans.push_back(make_pair(num/gcd_no,den/gcd_no));
	}
	sort(ans.begin(),ans.end(),comp);
	cout<<ans[0].first<<"/"<<ans[0].second<<endl;
   }
return 0;
}

@vijju123 can you help me

Please format your code - the forum software has mangled it and it won’t compile! :slight_smile:

i got AC!!!