Run ID | 作者 | 问题 | 语言 | 测评结果 | 分数 | 时间 | 内存 | 代码长度 | 提交时间 |
---|---|---|---|---|---|---|---|---|---|
173608 | A班许旭韬 | 组合数的高精度算法 | C++ | 编译错误 | 0 | 0 MS | 0 KB | 658 | 2024-08-20 22:03:51 |
#include<stdio.h> #include<string.h> int main(){ char a[10001],b[10001]; int a1[10001]={0},b1[10001]={0},s[20002]={0}; int lena,lenb; int i,j,k=0,t; scanf("%s%s",a,b); lena=strlen(a); lenb=strlen(b); a[lena-1]-=2; for(i=0;i<lena;i++) a1[i]=a[i]-48; for(j=0;j<lenb;j++) b1[j]=b[j]-48; while(i>=0&&j>=0) { s[k]=a1[i]+b1[j]; k++; i--; j--; } if(i>=0) while(i>=0) { s[k]=a1[i]; k++; i--; } elseif(j>=0) while(j>=0) { s[k]=b1[j]; k++; j--; } for(t=1;t<k;t++) if(s[t]>=10){s[t]%=10;s[t+1]++;} while(s[k]==0) k--; for(t=k;t>0;t--) printf("%d",s[t]); return0; }