|
马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
x
计算平方差哪里不对
#include <iostream>
#include<string>
using namespace std;
int a[300],b[300],c1[300],c2[300],c3[300];
int l1,l2,l3,l4,l5;
string s1,s2;
void cheng1(int a[],int b[]){
for(int i=0;i<l1;i++){
for(int j=0;j<l1;j++){
c1[i+j]+=a[i]*b[j];
c1[i+j+1]+=c1[i+j]/10;
c1[i+j]%=10;
}
while(l3&&c1[l3]==0)
l3--;
}
}
void cheng2(int a[],int b[]){
for(int i=0;i<l2;i++){
for(int j=0;j<l2;j++){
c2[i+j]+=a[i]*b[j];
c2[i+j+1]+=c2[i+j]/10;
c2[i+j]%=10;
}
while(l4&&c2[l4]==0){
l4--;
}
}
}
void jian(int a[],int b[]){
for(int i=0;i<l5;i++){
if(a[i]<b[i]){
a[i+1]--;
a[i]+=10;
}
c3[i]=a[i]-b[i];
}
while(l5&&c3[l5]==0){
l5--;
}
}
int main()
{
cin>>s1>>s2;
l1=s1.size(),l2=s2.size();
for(int i=0;i<l1;i++){
a[i]=s1[l1-i-1]-'0';
}
l3=l1*l1;
cheng1(a,a);
for(int i=0;i<l2;i++){
b[i]=s2[l2-i-1]-'0';
}
l4=l2*l2;
cheng2(b,b);
l5=max(l3,l4);
if((l3<l4)||((l3==l4)&&c1[l3]<c2[l3])){
jian(c2,c1);
cout<<'-';
for(int i=l5-1;i>=0;i--){
cout<<c3[i];
}
}
else{
jian(c1,c2);
for(int i=5-1;i>=0;i--){
cout<<c3[i];
}
}
return 0;
} |
|