expl3 (LaTeX3 প্রোগ্রামিং স্তর), 65 বাইট
নিম্নলিখিতটি একটি ফাংশন সংজ্ঞায়িত করে যা ফলাফলটি টার্মিনালে মুদ্রণ করে (দুর্ভাগ্যক্রমে expl3
খুব ভার্জোজ ফাংশন নাম রয়েছে):
\def\1#1{\fp_show:n{1/(\clist_map_function:nN{#1}\2)}}\def\2{+1/}
একটি সম্পূর্ণ স্ক্রিপ্ট যা টার্মিনাল থেকে চালানো যেতে পারে যাবতীয় পরীক্ষার কেস পাশাপাশি প্রবেশের সেটআপ সহ expl3
:
\RequirePackage{expl3}\ExplSyntaxOn
\def\1#1{\fp_show:n{1/(\clist_map_function:nN{#1}\2)}}\def\2{+1/}
\1{1, 1}
\1{1, 1, 1}
\1{4, 6, 3}
\1{20, 14, 18, 8, 2, 12}
\1{10, 10, 20, 30, 40, 50, 60, 70, 80, 90}
\stop
pdflatex <filename>
নিম্নলিখিতটি দিয়ে চালিত হলে কনসোল আউটপুট:
This is pdfTeX, Version 3.14159265-2.6-1.40.20 (TeX Live 2019) (preloaded format=pdflatex)
restricted \write18 enabled.
entering extended mode
(./cg_resistance.tex
LaTeX2e <2018-12-01>
(/usr/local/texlive/2019/texmf-dist/tex/latex/unravel/unravel.sty
(/usr/local/texlive/2019/texmf-dist/tex/latex/l3kernel/expl3.sty
(/usr/local/texlive/2019/texmf-dist/tex/latex/l3kernel/expl3-code.tex)
(/usr/local/texlive/2019/texmf-dist/tex/latex/l3backend/l3backend-pdfmode.def))
(/usr/local/texlive/2019/texmf-dist/tex/latex/l3packages/xparse/xparse.sty)
(/usr/local/texlive/2019/texmf-dist/tex/generic/gtl/gtl.sty))
> 1/(\clist_map_function:nN {1,1}\2)=0.5.
<recently read> }
l.3 \1{1, 1}
?
> 1/(\clist_map_function:nN {1,1,1}\2)=0.3333333333333333.
<recently read> }
l.4 \1{1, 1, 1}
?
> 1/(\clist_map_function:nN {4,6,3}\2)=1.333333333333333.
<recently read> }
l.5 \1{4, 6, 3}
?
> 1/(\clist_map_function:nN {20,14,18,8,2,12}\2)=1.129538323621694.
<recently read> }
l.6 \1{20, 14, 18, 8, 2, 12}
?
> 1/(\clist_map_function:nN
{10,10,20,30,40,50,60,70,80,90}\2)=2.611669603067675.
<recently read> }
l.7 \1{10, 10, 20, 30, 40, 50, 60, 70, 80, 90}
?
)
No pages of output.
Transcript written on cg_resistance.log.
ব্যাখ্যা
\fp_show:n
: তার তর্কটিকে একটি ভাসমান বিন্দু অভিব্যক্তি হিসাবে মূল্যায়ন করে এবং টার্মিনালে ফলাফল মুদ্রণ করে, প্রতিটি প্রসারণযোগ্য ম্যাক্রো সেই প্রক্রিয়া চলাকালীন প্রসারিত হয়।
\clist_map_function:nN
: দুটি আর্গুমেন্ট গ্রহণ করে, কমা দ্বারা পৃথক করা তালিকা এবং একটি ফাংশন / ম্যাক্রো, যদি \clist_map_function:nN { l1, l2, l3 } \foo
এটির মতো বলা হয় তবে এটির মতো কিছুতে প্রসারিত হয় \foo{l1}\foo{l2}\foo{l3}
। আমাদের ক্ষেত্রে \foo
ম্যাক্রোর পরিবর্তে \2
ব্যবহৃত হয়, যা প্রসারিত হয় +1/
যাতে অভিব্যক্তিটি প্রসারিত হয়+1/{l1}+1/{l2}+1/{l3}