poj 1001 求高精度幂

poj 1001 求高精度幂

本题的测试用例十分刁钻,美国服务器,网站空间,香港服务器,必须要考虑到很多的细节问题,在这里给出一组测试用例及运行结果:

95.123 12

548815620517731830194541.899025343415715973535967221869852721

0.4321 20.000000051485546410769561219945112767671548384817602007263512038354297630134624015.1234 1543992025569.9285737012664880411466549933187037075116662954767204939530246.7592 929448126.76412102161816443020690903717327667298.999 1090429072743629540498.1075960194566517745610440100011.0100 121.126825030131969720661201.00001 1.00001.12345 1.123450001.1 11.11.1000 11.110.000 110000.10 1.1000010 110000.10 1.10000.1 1.100.111 1.1110.0001 1.00010.0001 3.0000000000010.0010 1.0010.0010 3.0000000010.0100 1.010.0100 3.0000010.1000 1.10.1000 3.0011.0000 111.0000 311.0001 11.00011.0001 31.0003000300011.0010 11.0011.0010 31.0030030011.0100 11.011.0100 31.0303011.1000 11.11.1000 31.33110.000 11010.000 3100010.001 110.00110.001 31000.30003000110.010 110.0110.010 31003.00300110.100 110.110.100 31030.30199.000 19999.000 397029999.001 199.00199.001 3970328.40329700199.010 199.0199.010 3970593.05970199.100 199.199.100 3973242.27199.998 199.9980.0010 1.001

下面是AC代码:

#include<stdio.h>#include<string.h>int c[160];int a[160];int b[160];int lenb,lenxiao,len; i,j,k;memset(c,0,sizeof(c));if(lenxiao==0){len=6;}else{len=5;}for(i=0,k=0;i<len;i++){for(j=0;j<lenb;j++){c[i+j+1]+=a[i]*b[j];}}for(i=len+lenb-1;i>0;i–){if(c[i]>=10){c[i-1]+=c[i]/10;c[i]=c[i]%10;}}if(c[0]==0){for(i=1;i<=len+lenb-1;i++){b[i-1]=c[i];}lenb=len+lenb-1;}else{for(i=0;i<=len+lenb-1;i++){b[i]=c[i];}lenb=len+lenb;}} i,j;for(i=0;i<lenb-lenxiao;i++){if(b[i]!=0){break;}}if(i==lenb){printf();return;}for(j=lenb-1;j>=lenb-lenxiao;j–){if(b[j]!=0){break;}}if(j==i&&b[i]==0){printf();return ;}for(;i<=j;i++){if(i==lenb-lenxiao){printf();}printf(,b[i]);}printf();}int main(int argc,char ** argv){int power;int i,j,k;char input[5];,input)!=EOF){scanf(,&power);memset(a,0,sizeof(a));memset(b,0,sizeof(b));lenxiao=0;lenb=0;len=0;for(i=0,j=0,lenb=0;i<=5;i++){){lenxiao = 5-i;continue;}a[j++]=b[j]=input[i]-48;lenb++;}lenxiao*=power;for(i=0;i<power-1;i++){cal();}shuchu(b,lenb);}return 0;}

posted on

此刻睡觉的口水将变成明天流下的泪水。

poj 1001 求高精度幂

相关文章:

你感兴趣的文章:

标签云: