fork(1) download
  1. #include <iostream>
  2. #include <string.h>
  3.  
  4. using namespace std;
  5.  
  6. int atoi(char x) ///changes character into integer number
  7. {
  8. switch(x)
  9. {
  10. case '0':
  11. return 0;
  12. break;
  13. case '1':
  14. return 1;
  15. break;
  16. case '2':
  17. return 2;
  18. break;
  19. case '3':
  20. return 3;
  21. break;
  22. case '4':
  23. return 4;
  24. break;
  25. case '5':
  26. return 5;
  27. break;
  28. case '6':
  29. return 6;
  30. break;
  31. case '7':
  32. return 7;
  33. break;
  34. case '8':
  35. return 8;
  36. break;
  37. case '9':
  38. return 9;
  39. break;
  40. }
  41. }
  42.  
  43.  
  44. void multiplication (string x, string y)
  45. {
  46. int length_x=x.length(), length_y=y.length(); ///length of strings
  47. int a,b;
  48. int index=length_y+length_x-1;
  49. int k;
  50. int rest=0;
  51. int temp;
  52. bool start=false;
  53. int tab[20000]={0};
  54. for(int i=length_x-1; i>=0; i--,index--)
  55. {
  56. k=index;
  57. for(int j=length_y-1; j>=0; j--,k--)
  58. tab[k]+=atoi(x[i])*atoi(y[j]);
  59. }
  60.  
  61. for(int i=length_x+length_y-1; i>=0; i--)
  62. {
  63. tab[i-1]+=tab[i]/10;
  64. tab[i]%=10;
  65. }
  66. for(int i=0; i<=length_x+length_y-1; i++){
  67. if(tab[i]!=0||i==length_x+length_y-1)
  68. start=true;
  69. if(start==true)
  70. cout<<tab[i];
  71.  
  72. }
  73. cout<<endl;
  74. }
  75.  
  76.  
  77.  
  78.  
  79. int main()
  80. {
  81. int n;
  82. string x,y;
  83. cin>>n;
  84. for(int i=0; i<n; i++)
  85. {
  86. cin>>x;
  87. cin>>y;
  88. multiplication(x,y);
  89. }
  90.  
  91. }
  92.  
Success #stdin #stdout 0.06s 4500KB
stdin
Standard input is empty
stdout