#include <iostream> #include <cstdio> #include <cstring> #include <string> using namespace std; string a1, b1; int a[510], b[510], c[510]; int lena, lenb, lenc, x; int main() { cin>> a1 >> b1; lena=a1.length(); lenb=b1.length(); for (int i=0; i<lena; i++) a[lena-i]=a1[i]-'0'; for (int i=0; i<lenb; i++) b[lenb-i]=b1[i]-'0';//1.输入与存储 lenc=1; x=0; //注意初始化 while (lenc<=lena || lenc<=lenb) { //2.核代 c[lenc]=a[lenc]+b[lenc]+x; x=c[lenc]/10; c[lenc]%=10; lenc++; } c[lenc]=x; //3.最高位处理 if (c[lenc]==0) lenc--;//4.去前导0 for (int i=lenc;i>=1;i--)//5.输出 cout<<c[i]; return 0; }
1 #include <iostream> 2 #include <cstdio> 3 #include <string> 4 #include <cstring> 5 using namespace std; 6 string a1, b1; 7 int a[5001], b[5001], c[5001]; 8 int lena, lenb, lenc, x; 9 10 int main() { 11 cin>>a1>>b1; 12 lena=a1.length(); 13 lenb=b1.length(); 14 for (int i=0; i<lena; i++) a[i]=a1[lena-i-1]-'0'; 15 for (int i=0; i<lenb; i++) b[i]=b1[lenb-i-1]-'0'; 16 if (lena<lenb || (lena==lenb && a[lena-1]<b[lenb-1])) { 17 cout<<'-'; 18 memcpy(c, a, sizeof(a)); 19 memcpy(a, b, sizeof(b)); 20 memcpy(b, c, sizeof(c)); 21 memset(c, 0, sizeof(c)); 22 } 23 int i; 24 i=lenb; lenb=lena; lena=i; 25 i=0; 26 while (i<lena || i<lenb) { 27 if (a[i]<b[i]) { 28 a[i+1]--; 29 a[i]+=10; 30 } 31 c[i]=a[i]-b[i]; 32 i++; 33 } 34 lenc=i; 35 while (lenc>=0 && c[lenc]==0) lenc--; 36 if (lenc==-1) cout<<0; 37 else for (int i=lenc; i>=0; i--) cout<<c[i]; 38 return 0; 39 }
#include <iostream> #include <cstdio> #include <string> using namespace std; string a1, b1; int a[5100], b[5100], c[10010]; int lena,lenb,lenc,x; int main() { cin>>a1>>b1; lena=a1.length(); lenb=b1.length(); for (int i=0;i<lena;i++) a[lena-i]=a1[i]-'0'; for (int i=0;i<lenb;i++) b[lenb-i]=b1[i]-'0'; for (int i=1;i<=lena;i++) { x=0; for (int j=1;j<=lenb;j++) { c[i+j-1]+=(a[i]*b[j]+x); x=c[i+j-1]/10; c[i+j-1]%=10; } c[i+lenb]=x; } lenc=lena+lenb; while (c[lenc]==0&&lenc>1) lenc--; for (int i=lenc;i>=1;i--) cout<<c[i]; return 0; }
1 #include <iostream> 2 #include <cstdio> 3 #include <string> 4 using namespace std; 5 string a; 6 int c[5001]; 7 int x, b, lena, lenc; 8 int main() { 9 cin>>a; cin>>b; 10 lena=a.length(); 11 for (int i=0; i<lena; i++) { 12 c[i]=(x*10+a[i]-'0')/b; 13 x=(x*10+a[i]-'0')%b; 14 } 15 lenc=0; 16 while (lenc<lena && c[lenc]==0) lenc++; 17 if (lenc==lena) cout<<0; 18 else for (int i=lenc; i<lena; i++) 19 cout<<c[i]; 20 return 0; 21 }
1 #include <iostream> 2 #include <cstdio> 3 #include <string> 4 #include <cstring> 5 using namespace std; 6 string a1, b1; 7 int a[5001], b[5001], c[5001], tmp[5001]; 8 9 void print(int a[]) { 10 if (a[0]==0) cout<<0; 11 else for (int i=a[0]; i>0; i--) cout<<a[i]; 12 cout<<endl; 13 return; 14 } 15 16 int comparen(int a[], int b[]) { 17 if (a[0]>b[0]) return 1; 18 if (a[0]<b[0]) return -1; 19 for (int i=a[0]; i>0; i--) { 20 if (a[i]>b[i]) return 1; 21 if (a[i]<b[i]) return -1; 22 } 23 return 0; 24 } 25 26 void jian(int a[], int b[]) { 27 int f=comparen(a, b); 28 if (f==0) { a[0]=0; return;} 29 if (f==1) { 30 for (int i=1; i<=a[0]; i++) { 31 if (a[i]<b[i]) { a[i+1]--; a[i]+=10;} 32 a[i]-=b[i]; 33 } 34 while( a[0]>0 && a[a[0]]==0) a[0]--; 35 return; 36 } 37 } 38 39 void numcpy(int p[], int q[], int det) { 40 for (int i=1; i<=p[0]; i++) q[i+det-1]=p[i]; 41 q[0]=p[0]+det-1; 42 } 43 44 void chugao() { 45 c[0]=a[0]-b[0]+1; 46 for (int i=c[0]; i>0; i--) { 47 memset(tmp, 0, sizeof(tmp)); 48 numcpy(b, tmp, i); 49 while(comparen(a, tmp)>=0) { 50 c[i]++; jian(a, tmp); 51 } 52 } 53 while(c[0]>0 && c[c[0]]==0) c[0]--; 54 return; 55 } 56 57 58 int main() { 59 cin>>a1>>b1; 60 a[0]=a1.length(); b[0]=b1.length(); 61 for (int i=1; i<=a[0]; i++) a[i]=a1[a[0]-i]-'0'; 62 for (int i=1; i<=b[0]; i++) b[i]=b1[b[0]-i]-'0'; 63 chugao(); 64 print(c); print(a); 65 return 0; 66 }