Volume 1.1 Big Number
文章平均质量分 80
深蓝色的猫
一个努力成长为大牛的蒟蒻程序媛
展开
-
UVa OJ 10106
1、本题WA两次,第一次因为没考虑到其中一个为0的情况,消前导0时进入无限循环。 2、交后仍WA,第二次修改发现加了一句多余的话if(p【i】==0) break;去掉后就AC。 #include #include int main(void) { char a[260]="",b[260]=""; int c[260]={0},d[260]={0},p[510]原创 2013-02-01 14:44:11 · 281 阅读 · 0 评论 -
UVa OJ 424
1、高精度水题,一次AC~ 2、注意别把前导0输出来了。 #include #include int main(void) { char s[110]=""; int a[110][110]={0},len=0,i=0,j=0,max=0,k=0; while(scanf("%s",s)==1) { len原创 2013-02-01 11:22:05 · 247 阅读 · 0 评论 -
UVa OJ 465
1、本题交了16次才过,刚开始3次是因为没有简化程序(以前做的题对时间没这么高要求),造成高精度乘法的次数太多,于是TLE。 2、后来改进算法,对位数超过10位的不予评判,如果两数其中之一溢出且是加法,那结果一定溢出。如果是乘法,还要两个都不为0才行。 3、高精度比较的时候一定i从9开始,否则会出错。 4、后来还是WA,当我确信自己没错,差点要给UVa OJ写E-mail时,在网上看到有人说原创 2013-02-03 16:25:16 · 493 阅读 · 0 评论 -
UVa OJ 748
1、这题挺复杂的,但真没想到一次AC了。 2、注意把字符串的前导零和末尾零都去掉再做高精度乘法运算。 3、用快速幂可以节省时间。 4、注意每次在适当的时候清零。 5、输出的时候,也去掉前导零和末尾零。 #include #include int main(void) { char st1[200]="",st2[200]=""; int n,lena,len原创 2013-02-04 14:35:41 · 297 阅读 · 0 评论 -
UVa OJ 10494
1、本题没必要用高精度/高精度,高精度/单精度即可。因为除数为int型,为防止溢出,被除数应为long long int。 2、所谓取余,其实就是算出商,被除数-除数*商,即可,用到单精度乘法和高精度减法,比较简单。 3、注意memset,第一次因为忘记写了,WA了一次。至此,高精度运算部分结束。 #include #include int main(void) {原创 2013-02-04 22:18:34 · 336 阅读 · 0 评论