View Code of Problem 3689

#include<bits/stdc++.h>
using namespace std;
int main(){
	string a,b;
	int t,f,ss=1;cin>>t;
	while(t--){
		cin>>a>>b;
		printf("Case #%d:\n",ss++);
		if(a==b){
			cout<<0<<endl;
			continue;
		}
		if(a.size()>b.size())f=0;
		else if(a.size()<b.size())f=1;
		else
			if(a>b)f=0;
			else f=1;
		if(f)swap(a,b);
		int lx=a.size()-b.size();
		while(lx--)b='0'+b;
		int l=a.size(),flag=0,p=0;
		while(l--){
			a[l]='0'+a[l]-b[l]-flag;
			if(a[l]-'0'<0){
				a[l]+=10;flag=1;
			}
			else
			flag=0;
		}
		if(f)cout<<'-';
		while(a[p]=='0')p++;
		for(int i=p;i<a.size();++i)
		cout<<a[i];
		cout<<endl;
	}
}

Double click to view unformatted code.


Back to problem 3689