এএসসিআইআই আর্ট দিয়ে দীর্ঘ গুণটি দেখুন


12

চ্যালেঞ্জ

একটি প্রোগ্রাম লিখুন যা কমা দ্বারা পৃথকীকৃত স্ট্যান্ডার্ড ইনপুট থেকে দুটি পূর্ণসংখ্যার গ্রহণ করে এবং তারপরে স্ট্যান্ডার্ড আউটপুটে সেই দুটি সংখ্যার দীর্ঘ গুণিতের একটি ভিজ্যুয়ালাইজেশন মুদ্রণ করে।

উদাহরণ:

ইনপুট

14, 11

প্রোগ্রাম আউটপুট

     14
    x11
   _____
     14
    14
  ______
    154

ইনপুট

-7, 20

প্রোগ্রাম আউটপুট

     -7
    x20
   _____
     00
    14
   _____
   -140

পরিসীমাতে সর্বদা সঠিক ইনপুট এবং সংখ্যা অনুমান করুন [-999, 999]

জয়ের মানদণ্ড

সবচেয়ে কম কোড জয়!


কোডগল্ফ.স্ট্যাকেক্সেঞ্জার.কম / সেকশনস / 1624/… নিয়ে ধারাবাহিকতার জন্য টুইট করা হয়েছে
পিটার টেলর

উত্তর:


3

পার্ল, 108 অক্ষর

ওরিবিগ থেকে কিছু ধারণাগুলি একত্রিত করে 108 জাতের জাতের সমাধানের সেরা।

($x,$y)=<>=~/[-\d]+/g;printf"%7s
",$_ for$x,x.$y,"-"x7,(map{abs($x*$_).$"x$i++}reverse$y=~/\d/g),"-"x7,$x*$y

এর আগে ১৩৯ চর সমাধান

sub P{sprintf"%*d",@_}
($x,$y)=<>=~/[^,]+/g;$,=$/;
print P(7,$x),"  x".P(4,$y),"-"x7,(map{P 7-$i++,abs$_*$x}reverse$y=~/\d/g),
"-"x7,P 7,$x*$y

/ আমার সম্মানের সাথে নমঃ ... আমি মুদ্রণটি প্রিন্টের অংশে অন্তর্ভুক্ত করার সম্ভাবনাটি দেখিনি। এবং $y=~/\d/gকৌশলটি ছিল চালাক
ওরাব্যাগ

5

গণিত 213 217 197 193 186 184 193 184 177

কোড

a_~g~b_ := 
With[{e = IntegerDigits@b}, Column[Flatten@{a, UnderBar["x " <> IntegerString[b]], 
Table[Row @@ {PadRight[{a Reverse[e][[i]]}, i, " "]}, {i, Length@e}], OverBar[a b]}, 
Alignment -> Right]]

ব্যবহার

g[845, 921]

সংখ্যাবৃদ্ধি


নিশ্চয়ই IntegerString[921]আপনার মানে IntegerString[b]?
ডেভিড জাং

হ্যাঁ, ভাল ধরা!
ডেভিডসি

আমি মনে করি অনুমানটি স্থানটি অপসারণের অনুমতি দেয় "x "
Decuʎs

তুমি ঠিক আছ আমি এটিকে রেখে দেওয়ার সিদ্ধান্ত নিয়েছি কারণ এটি দেখতে আরও ভাল দেখাচ্ছে (এবং যাইহোক আমার সবচেয়ে সংক্ষিপ্ত কোডটি ছিল না)।
ডেভিডসি

1

পাইথন, 174 170:

a,b=input();r,s=str(a),str(b);h=len(r+s)*'-';print'\n'.join(["%9s\n%9s\n%9s"%(r,'x'+s,h)]+["%%%ii"%(9-i)%(int(d)%10*a)for i,d in enumerate(s[::-1])]+["%9s\n%9i"%(h,a*b)])

ব্যবহার: অনুরোধ হিসাবে ঠিক স্ট্যান্ডার্ড ইনপুট মানগুলি ইনপুট করুন।

চলমান দেখতে: http://ideone.com/S8xNb

আউটপুট:

     1234
    x5678
 --------
     9872
    8638
   7404
  6170
 --------
  7006652

ধন্যবাদ ফিব্বোসেকেরিরা এবং বেয়ারী 605 এবং ডেভিড কেরাহারকে


আপনি সাদা print '\n'print'\n'10*a) for i,d in enumerate10*a)for i,d in enumerate"%9s\n%9i" % (h,a*b)"%9s\n%9i"%(h,a*b)
স্থানের

1

পাইথন, 145, কিছুটা আলাদা আউটপুট সহ অন্য একটি উত্তর।

কোড

a,b=input();h=6*'-';print'\n'.join(["%6i\nx%5i\n%s"%(a,b,h)]+["%%%ii"%(6-i)%(int(d)%10*a)for i,d in enumerate(str(b)[::-1])]+["%s\n%6i"%(h,a*b)])

ব্যবহার

অনুরোধ হিসাবে

আউটপুট

   999
x  999
------
  8991
 8991
8991
------
998001

চলমান দেখতে: http://ideone.com/mdR18


1

পার্ল , 157 151 150 144 141 133 অক্ষর:

($x,$y)=<>=~/[-\d]+/g;map{$z=~s/z/ z/g;$z=(abs$x*$_)."z$z"}split//,abs$y;map{printf"%6s
",$_}$x,"x$y",$b="-"x6,(split/z/,$z),$b,$x*$y

ব্যবহার:

>echo "-123, 456" | perl mult.pl
   -123
   x456
-------
    738
   615
  492
-------
 -56088

আজ সকালে একটি ধারণা ছিল:
প্রিন্টফ
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.