fork(1) download
  1. for i in range(int(input())):
  2. n=input()
  3. a,b,op="","",""
  4. flag=0
  5. for i in range(len(n)):
  6. if(n[i]=="+" or n[i]=="*" or n[i]=="-"):
  7. op+=n[i]
  8. flag=1
  9. elif(flag==1):
  10. b+=n[i]
  11. elif(flag==0):
  12. a+=n[i]
  13. #print(a,b,op)
  14. a=int(a)
  15. b=int(b)
  16. if(op=='+'):
  17. ans=a+b
  18. m=max(len(str(a)),len(str(b))+1,len(str(ans)))
  19. ar=[' ' for i in range(m)]
  20. br=[' ' for i in range(m)]
  21. cr=[' ' for i in range(m)]
  22. dash=['-' for i in range(m)]
  23. for i in range(len(ar)-1,-1,-1):
  24. if(a!=0):
  25. ar[i]=int(a%10)
  26. a=int(a/10)
  27. f=0
  28. for i in range(len(br)-1,-1,-1):
  29. if(b>0):
  30. br[i]=int(b%10)
  31. b=int(b/10)
  32. elif(b<=0 and f==0):
  33. f=1
  34. br[i]=op
  35. for i in range(len(cr)-1,-1,-1):
  36. if(ans!=0):
  37. cr[i]=int(ans%10)
  38. ans=int(ans/10)
  39. for i in range(len(ar)):
  40. print(ar[i],end="")
  41. print()
  42. for i in range(len(br)):
  43. print(br[i],end="")
  44. print()
  45. for i in range(len(ar)):
  46. print(dash[i],end="")
  47. print()
  48. for i in range(len(cr)):
  49. print(cr[i],end="")
  50. print()
  51. if(op=='-'):
  52. ans=a-b
  53. #print(ans)
  54. m=max(len(str(a)),len(str(b))+1,len(str(ans)))
  55. ar=[' ' for i in range(m)]
  56. br=[' ' for i in range(m)]
  57. cr=[' ' for i in range(m)]
  58. dash=['-' for i in range(m)]
  59. for i in range(len(ar)-1,-1,-1):
  60. if(a!=0):
  61. ar[i]=int(a%10)
  62. a=int(a/10)
  63. f=0
  64. for i in range(len(br)-1,-1,-1):
  65. if(b!=0):
  66. br[i]=int(b%10)
  67. b=int(b/10)
  68. elif(b<=0 and f==0):
  69. f=1
  70. br[i]=op
  71. for i in range(len(cr)-1,-1,-1):
  72. if(ans!=0):
  73. #print(ans)
  74. cr[i]=int(ans%10)
  75. ans=int(ans/10)
  76. for i in range(len(ar)):
  77. print(ar[i],end="")
  78. print()
  79. for i in range(len(br)):
  80. print(br[i],end="")
  81. print()
  82. for i in range(len(ar)):
  83. print(dash[i],end="")
  84. print()
  85. for i in range(len(cr)):
  86. print(cr[i],end="")
  87. print()
  88. if(op=='*'):
  89. ans=a*b
  90. bcp=b
  91. acp=a
  92. x=0
  93. if(b<10):
  94. x=1
  95. m=max(len(str(a)),len(str(b))+1,len(str(ans)))
  96. m1=max(len(str(a)),len(str(b))+1)
  97. d2=[' ' for i in range(m-m1)]+['-' for i in range(m1)]
  98. ar=[' ' for i in range(m)]
  99. br=[' ' for i in range(m)]
  100. cr=[' ' for i in range(m)]
  101. d1=['-' for i in range(m)]
  102. for i in range(len(ar)-1,-1,-1):
  103. if(a!=0):
  104. ar[i]=int(a%10)
  105. a=int(a/10)
  106. f=0
  107. for i in range(len(br)-1,-1,-1):
  108. if(b>0):
  109. br[i]=int(b%10)
  110. b=int(b/10)
  111. elif(b<=0 and f==0):
  112. f=1
  113. br[i]=op
  114. for i in range(len(cr)-1,-1,-1):
  115. if(ans!=0):
  116. cr[i]=int(ans%10)
  117. ans=int(ans/10)
  118. for i in range(len(ar)):
  119. print(ar[i],end="")
  120. print()
  121. for i in range(len(br)):
  122. print(br[i],end="")
  123. print()
  124. if(x==0):
  125. for i in range(len(d2)):
  126. print(d2[i],end="")
  127. print()
  128. xr=[[' ' for i in range(m+1)] for j in range(len(str(bcp)))]
  129. s=bcp
  130. ctr=0
  131. for i in range(len(str(bcp))):
  132. ax=acp*int(s%10)
  133. s=int(s/10)
  134. #print(ax)
  135. f=0
  136. if(ax==0):
  137. f=1
  138. for j in range(m-1-ctr,-1,-1):
  139. if(ax!=0):
  140. xr[i][j]=int(ax%10)
  141. ax=int(ax/10)
  142. if(f==1):
  143. f=0
  144. xr[i][j]=0
  145. ctr+=1
  146. #print(xr)
  147. for i in range(len(str(bcp))):
  148. for j in range(m+1):
  149. print(xr[i][j],end="")
  150. print()
  151. for i in range(len(ar)):
  152. print(d1[i],end="")
  153. print()
  154. for i in range(len(cr)):
  155. print(cr[i],end="")
  156. print()
  157. print()
  158.  
Success #stdin #stdout 0.02s 9264KB
stdin
4
12345+67890
324-111
325*4405
1234*4
stdout
 12345
+67890
------
 80235

 324
-111
----
 213

    325
  *4405
  -----
   1625 
     0  
 1300   
1300    
-------
1431625

1234
  *4
----
4936