模板——高精度
高精度——除法
#include <cstdio> #include <cstring> #include <iostream> using namespace std; const int maxn=20010; char s1[maxn],s2[maxn]; int l1,l2,p,ans[maxn]; int flag=0; int main() { cin>>s1>>s2; l1=strlen(s1);l2=strlen(s2); if(l1<l2) flag=1; while(l2<=l1) { while(strncmp(s1,s2,l2)>=0) { for(int i=l2-1;i>=0;i--) s1[i]=s1[i]-s2[i]+'0'; for(int i=l2-1;i>=0;i--) if(s1[i]<'0') { s1[i-1]--; s1[i]+=10; } ans[p]++; } p++;l2++; for(int i=l2-1;i>=1;i--) s2[i]=s2[i-1]; s2[0]='0'; } int k=0; for(int i=0;i<l1;i++) if(ans[i]) { k=i; break; } if(flag==0) { for(int i=k;i<p;i++) printf("%d",ans[i]); } else printf("0\n"); return 0; }
高精度——乘法