ds1.cpp

来自「用C语言实现大整数相乘问题」· C++ 代码 · 共 44 行

CPP
44
字号
#include<iostream.h>
#include<math.h>
void main()
{
long now,current_num,mid,lengthx,lengthy,x0,x1,y0,y1,result,x,y;
cin>>x;
cin>>y;
cout<<"X:"<<x<<endl;
cout<<"Y:"<<y<<endl;
current_num=x;
for(lengthx=0;current_num>=1;lengthx++)
{
current_num=current_num/10;
}
current_num=y;
for(lengthy=0;current_num>=1;lengthy++)
{
current_num=current_num/10;
}
//判断输入的整数位数
mid=lengthx%2;
if(mid==0)
current_num=int(lengthx/2);
else
{current_num=int(lengthx/2);
current_num=current_num+1;}
now=current_num;
mid=int (pow(10,current_num));
x0=x%mid;x1=x/mid;//拆分X

mid=int (pow(10,current_num));
y0=y%mid;y1=y/mid;//拆分Y

lengthy=int (pow(10,2*now));
mid=int (pow(10,now));

current_num=(x0-x1)*(y1-y0)+x0*y0+x1*y1;
result=x0*y0+current_num*mid+x1*y1*lengthy;
cout<<result<<endl;
}



⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?