poj 1503 Integer Inquiry高精度

来源:互联网 发布:js textarea 不可编辑 编辑:程序博客网 时间:2024/06/04 19:13

以前一直坐高精度都养把倒置数组,看了别人的结题报告发现一个很好的方法,只要把数组向后移就行了

#include<iostream>

using namespace std;

#include<string.h>

#include<memory.h>

char a[101];

int main()

{

int M=109;

int N=108;

char b[109];

     memset(b,48,sizeof(b));

while(cin>>a,strcmp("0",a)!=0)

{

int len=strlen(a);

for(int i=0;i<N;i++)//高精度加法新思想,好 

{

if(i<len)

b[N-i-1]=b[N-i-1]+a[len-i-1]-48;

if(b[N-i-1]>=58)

{

b[N-i-1]-=10;

b[N-i-2]+=1;

}

}

}

int i;

for(i=0;i<N;i++)

{

if(b[i]!=48)

break;

}

b[N]='/0';

if(i==N)

cout<<0<<endl;

else

cout<<b+i<<endl;

// system("pause");

return 0;

}


原创粉丝点击