社区讨论

90分求助

P2142高精度减法参与者 2已保存回复 2

讨论操作

快速查看讨论及其快照的属性,并进行相关操作。

当前回复
2 条
当前快照
1 份
快照标识符
@lww922ng
此快照首次捕获于
2024/06/01 23:10
2 年前
此快照最后确认于
2024/06/02 10:30
2 年前
查看原帖
测试点6过不了,把数据下载下来自己测试也没发现问题
CPP
#include<iostream>
#include<string>
using namespace std;
void swap(char& a,char& b)
{
	char t=a;
	a=b;
	b=t;
	return;
}

//高精度整数减法
string HighMinus(string a,string b)
{
	int lena=a.size(),lenb=b.size();
	if(lena<lenb) return "-"+HighMinus(b,a);
	else if(lena==lenb)
	{
		if(a<b) return "-"+HighMinus(b,a);
	}
	for(int i=0;i<lena/2;i++) swap(a[i],a[lena-i-1]);
	for(int i=0;i<lenb/2;i++) swap(b[i],b[lenb-i-1]);
	string c;
	int tuiwei=0,point=0;
	while(tuiwei>0||point<max(lena,lenb))
	{
		int x=(point<lena?(a[point]-'0'):0);
		int y=(point<lenb?(b[point]-'0'):0);
		int t=(x-y-tuiwei)%10;
		if(t>=0) c+=t+'0';
		else c+=10+t+'0';
		tuiwei=((x-y-tuiwei)<0?1:0);
		point++;
	}
	int lenc=c.size();
	for(int i=0;i<lenc/2;i++) swap(c[i],c[lenc-i-1]);
	int i;
	for(i=0;c[i]=='0';i++);
	if(i==c.size()) return "0";
	c.erase(0,i);
	return c;
}
int main()
{
	freopen("P2142_6.in","r",stdin);
	string a,b;
	cin>>a>>b;
//	cout<<-2%5<<endl;
	cout<<HighMinus(a,b)<<endl;
	return 0;
}
测试点6: 输入:
CPP
899205246387481840144174944294660205560708802694009828550016029767434592200915262066578034391444402185991912770576501474326182419812198445092883572695581887056696453471253087848715021715079321269289705085668064901011687816751141038581370225147021908965953309104628583020726994496613226753912892346145538787238691777221270769984829129322391478036259132396374848908279044856648299340801815194320634362478281002350717529519621924928288392287822103070230109556575524578436174416549535122682089876206916939759353236003124857985646387409504977966756767846797577007444073891174703107315192168900434581868334092043926322961893591328241189210798693043015556956964677671604983185999419450828005615847332444802981759515062964151279993603041969603095509583200611451067452611270966289457924852962858613397040864950316688978235162391920966153666678805685933350125346225113229031050985192792758934709996312517009082029661036879213535207573819332177214696609701734407122203851108525041859125603158995855222693921587435836991966292993569676610958294189213259339481658028219695780230184658324897317728599687353605768843146688922733503992957054744079294409203511581856991639978981273591130436247885835247643498734308129919908646585110393788355828991955908222007856767007361093855424419753424570429570664265579103276133630898787793993421578096165363743807382404799650101340573189045130851488297275995221696994751089894403308375689600864203174954212611893091445579314435329728058609705363192352217959950667442144466692605267407185925340184447422266887481984448754325139295572321734619535799757501665419965755282555129240323932476271193819587776920050511481189834211106869963987099944919178714091837053180468340877392481530807894224613541558579574593283432345243215747839440793711721595667194464240587637961628137931119215264452753427950360242158025669761494084184585732126307257599514316628653387204514588216953134481490065077386853174683448077553621634438859323790115420729470079126513870893327253065269418693879062417980916134167724556925040350399373880084841330619448760210505196726098387065298178331053401319693608102503670149434375870251764647248421009793117279972315153378336671156203974137464665880488365320204256647101292380140716892818906603508266801136998970271414906038658938683170588956673415057582457619755039974197170979676809245700530287431116007557720000166590812518578549755545120769012678747967051108604171244715055041137021949641959676515749098959262853427476055672634962158662623785502988787652315427335986104467747514131108232152490780266999145578836025759557984602248855351747133824822539200372276032094121428244470483702727309553820172408727152061350151134062641849420706693754240970954925911232223148014886145004457313414871677234697705667525977652127627033875340787935154883909333877691846937803731434161766074823584122854553691104229056219183995633041444736450301323155942704418143894385470560033480865551163971856248249810312169808651275044489336175144800421913843756355231239647543370825251704554655501478350050871110696232601141055521773360989412298309147086356171156329523668790454130902733686788999964524512935483813183631812131539174436086954424752537339744312513866557594883573319679604031020245337193648129646713313768507095671086823207227441126150880054690233959032295555638725901574192200618711316717796054814807241481624329044163715769413059128416284735674054483650558676006349345246701858366227867815743104803040124216043018420763924701585657655808296047058474413027639307896515204771886685786128879983230926956867118658399511636830019617116612118628245919360082488826415618535346482221208121424593306544506420573230712255804957223939539842292386069467930134607494654273707337276819412669017254801160586048081611003622604489004550393683522060733125505307977346297365375398359591086939467815440443334767095548334581192670341921491
899205246387481840144174944294660205560708802694009828550016029767434592200915262066578034391444402185991912770576501474326182419812198445092883572695581887056696453471253087848715021715079321269289705085668064901011687816751141038581370225147021908965953309104628583020726994496613226753912892346145538787238691777221270769984829129322391478036259132396374848908279044856648299340801815194320634362478281002350717529519621924928288392287822103070230109556575524578436174416549535122682089876206916939759353236003124857985646387409504977966756767846797577007444073891174703107315192168900434581868334092043926322961893591328241189210798693043015556956964677671604983185999419450828005615847332444802981759515062964151279993603041969603095509583200611451067452611270966289457924852962858613397040864950316688978235162391920966153666678805685933350125346225113229031050985192792758934709996312517009082029661036879213535207573819332177214696609701734407122203851108525041859125603158995855222693921587435836991966292993569676610958294189213259339481658028219695780230184658324897317728599687353605768843146688922733503992957054744079294409203511581856991639978981273591130436247885835247643498734308129919908646585110393788355828991955908222007856767007361093855424419753424570429570664265579103276133630898787793993421578096165363743807382404799650101340573189045130851488297275995221696994751089894403308375689600864203174954212611893091445579314435329728058609705363192352217959950667442144466692605267407185925340184447422266887481984448754325139295572321734619535799757501665419965755282555129240323932476271193819587776920050511481189834211106869963987099944919178714091837053180468340877392481530807894224613541558579574593283432345243215747839440793711721595667194464240587637961628137931119215264452753427950360242158025669761494084184585732126307257599514316628653387204514588216953134481490065077386853174683448077553621634438859323790115420729470079126513870893327253065269418693879062417980916134167724556925040350399373880084841330619448760210505196726098387065298178331053401319693608102503670149434375870251764647248421009793117279972315153378336671156203974137464665880488365320204256647101292380140716892818906603508266801136998970271414906038658938683170588956673415057582457619755039974197170979676809245700530287431116007557720000166590812518578549755545120769012678747967051108604171244715055041137021949641959676515749098959262853427476055672634962158662623785502988787652315427335986104467747514131108232152490780266999145578836025759557984602248855351747133824822539200372276032094121428244470483702727309553820172408727152061350151134062641849420706693754240970954925911232223148014886145004457313414871677234697705667525977652127627033875340787935154883909333877691846937803731434161766074823584122854553691104229056219183995633041444736450301323155942704418143894385470560033480865551163971856248249810312169808651275044489336175144800421913843756355231239647543370825251704554655501478350050871110696232601141055521773360989412298309147086356171156329523668790454130902733686788999964524512935483813183631812131539174436086954424752537339744312513866557594883573319679604031020245337193648129646713313768507095671086823207227441126150880054690233959032295555638725901574192200618711316717796054814807241481624329044163715769413059128416284735674054483650558676006349345246701858366227867815743104803040124216043018420763924701585657655808296047058474413027639307896515204771886685786128879983230926956867118658399511636830019617116612118628245919360082488826415618535346482221208121424593306544506420573230712255804957223939539842292386069467930134607494654273707337276819412669017254801160586048081611003622604489004550393683522060733125505307977346297365375398359591086939467815440443334767095548334581192670341921491

输出:
CPP
0

回复

2 条回复,欢迎继续交流。

正在加载回复...