具体分析是借鉴hdu1030 数学题 - To be an ACMan - 博客园
http://www.cnblogs.com/ACMan/archive/2012/05/30/2526798.html
#include<iostream>
#include<cmath>
using namespace std;
int main(){
int m,n;
int m1,m2,m3,n1,n2,n3;
while(cin>>m>>n){
m1=ceil(sqrt(m));
m2=(m-(m1-1)*(m1-1)-1)/2+1;
m3=(m1*m1-m)/2+1;
n1=ceil(sqrt(n));
n2=(n-(n1-1)*(n1-1)-1)/2+1;
n3=(n1*n1-n)/2+1;
cout<<abs(m1-n1)+abs(m2-n2)+abs(m3-n3)<<endl;
}
return 0;
}