এমন একটি প্রোগ্রাম বা ফাংশন লিখুন যা নূন্যতম সম্ভাব্য ব্যাসার্ধযুক্ত পৃথক বৃত্তের চারপাশে একটি ইনপুট স্ট্রিং প্রিন্ট করে। উদাহরণস্বরূপ, ইনপুট জন্য This is an example
, আপনার প্রোগ্রামের আউটপুট করা উচিত:
a si
n s
i
e h
x T
a
m
p
le
সার্কেল জেনারেশন
আপনি পৃথক বৃত্তের প্রতিটি পয়েন্টের স্থানাঙ্কগুলি গণনা করতে মিডপয়েন্ট বৃত্ত অ্যালগরিদম ব্যবহার করবেন । এই অ্যালগরিদম কীভাবে এই উইকিপিডিয়া পৃষ্ঠায় প্রয়োগ করা যায় তার উদাহরণ আপনি খুঁজে পেতে পারেন ।
এখানে অ্যালগরিদমের সিউডো কোডটি দেওয়া হয়েছে (উইকিপিডিয়া এর সি উদাহরণের ভিত্তিতে):
integer x = radius
integer y = 0
int decisionCriterion = 1 - x
while y <= x
point at coordinates (x,y) belongs to the circle // Octant 1
point at coordinates (y,x) belongs to the circle // Octant 2
point at coordinates (-x,y) belongs to the circle // Octant 4
point at coordinates (-y,x) belongs to the circle // Octant 3
point at coordinates (-x,-y) belongs to the circle // Octant 5
point at coordinates (-y,-x) belongs to the circle // Octant 6
point at coordinates (x,-y) belongs to the circle // Octant 7
point at coordinates (y,-x) belongs to the circle // Octant 8
y++
if decisionCriterion <= 0
decisionCriterion += 2 * y + 1
else
x--
decisionCriterion += 2 * (y - x) + 1
end while
আপনি যদি কোনও রেডিয়াসের জন্য মিডপয়েন্ট সার্কেল অ্যালগরিদম উত্পাদন করে ঠিক একই বৃত্ত তৈরি করে তবেই আপনি আলাদা অ্যালগরিদম ব্যবহার করতে পারেন ।
চেনাশোনাতে অবশ্যই ক্ষুদ্রতম ব্যাসার্ধ থাকতে হবে যা এখনও ইনপুটটির সমস্ত অক্ষর লিখতে দেয়।
যদি বৃত্তটি স্ট্রিংয়ের অক্ষরের সংখ্যার চেয়ে বেশি পয়েন্ট দিয়ে শেষ হয়, তবে শেষটি পূরণ করার অক্ষরগুলি ফাঁকা স্থান হবে ।
ইনপুটটির প্রথম অক্ষরটি স্থানাঙ্কের সাথে পয়েন্টে মুদ্রিত করতে হবে (Radius,0)
। পরবর্তী অক্ষরগুলি একটি অ্যান্ট্লিকওয়াল ফ্যাশনে মুদ্রিত হয়।
ইনপুট
ইনপুটটি স্থান (32) এবং টিলড
~
(126) এর মধ্যে যে কোনও ASCII অক্ষরের একটি স্ট্রিং ।
আপনি ধরে নিতে পারেন ইনপুটটি সর্বদা বৈধ, 256 অক্ষরের চেয়ে কম এবং কমপক্ষে 5 টি অক্ষর দীর্ঘ হবে।
ইনপুটটি STDIN, বা কোনও ফাংশন প্যারামিটার বা অন্য জাতীয় কিছু থেকে নেওয়া যেতে পারে।
আউটপুট
আপনি ফলাফলটি হয় STDOUT এ আউটপুট করতে পারেন, বা কোনও ফাংশন থেকে স্ট্রিং হিসাবে ফিরে আসতে পারেন।
আপনার ট্রেলিং স্পেস থাকতে পারে, তবে শর্ত থাকে যে এটি লাইনটি দীর্ঘতম রেখাকে (মাঝেরটি) ছাড়িয়েছে না (যেমন, মাঝের রেখার পিছনে ফাঁকা স্থান থাকতে পারে না)।
একটি পিছনের নতুন লাইন অনুমোদিত।
পরীক্ষার মামলা
Input: Hello, World!
Output:
,ol
l
W e
o H
r
l
d!
Input: 4 8 15 16 23 42
Output:
51
8
1
6 4
2 2
3 4
Input: Programming Puzzles & Code golf
Output:
gnim
uP ma
z r
z g
l o
e r
s P
&
C
od f
e Gol
Input: Ash nazg durbatuluk, ash nazg gimbatul, ash nazg thrakatuluk agh burzum-ishi krimpatul.
Output:
zan hsa ,
g ku
ig lu
bm ta
a b
t r
u u
l d
,
g
a z
s a
h n
n h
a s
z A
g
t
h
r
a .
k l
a u
t t
u a
l p
u m
k ri
ag k
h hi
burzum-is
স্কোরিং
এটি কোড-গল্ফ , তাই বাইটের মধ্যে সংক্ষিপ্ত উত্তর ins
void
5 বাইটের জন্য ড্রপ করতে পারেন এবং আরও কিছু বাইটের জন্য বৈশ্বিক স্কোপটিতে কিছু পূর্ণসংখ্যা ঘোষণা করতে পারেন , যেহেতু কোনও প্রকার ছাড়াই বৈশ্বিক স্কোপে ভেরিয়েবলগুলি ধরে নেওয়া হয়int
এবং এটি স্বয়ংক্রিয়ভাবে আরম্ভ হয়0
।