আপনার বস আপনাকে যত তাড়াতাড়ি সম্ভব সম্পন্ন হওয়া 12 টি প্রোগ্রামিং কাজের একটি তালিকা আপনাকে ইমেল করেছেন। টাস্কগুলি যথেষ্ট সহজ তবে আপনার মনিব, সোশ্যাল নেটওয়ার্কিংয়ের মাধ্যমে চুষে খাওয়া এক তরুণ সফ্টওয়্যার, জোর দিয়েছিলেন যে আপনার সমাধানগুলি একটি টুইটারের টুইটের মধ্যে ফিট করতে সক্ষম হবে ।
এর অর্থ হ'ল সমস্ত কার্য সমাধান করার জন্য আপনার কাছে 140 বাইটের মূল্যমানের কোড রয়েছে, প্রতি টাস্কে গড় 11.67 বাইট। (হ্যাঁ, টুইটার অক্ষর গণনা করে তবে আপনার বস নির্দিষ্টভাবে বাইট বলেছিলেন by)
আপনি বুঝতে পেরেছেন যে 140 বাইটে সমস্ত 12 টি কার্য সমাধান করার কোনও উপায় নেই তবে আপনি সন্দেহ করেন যে আপনার বস বাস্তবে আপনার সমস্ত সমাধান পরীক্ষা করবেন না। সুতরাং আপনি যতটা সম্ভব সমাধান করতে এগিয়ে চলেছেন, সেগুলির কয়েকটি সম্পূর্ণভাবে এড়িয়ে চলেছেন। তোমার মনোভাব সবার জন্যেই এটা কোন ব্যাপার না যে যা কর্ম আপনি সম্পন্ন এর উপসেট, এটি শুধুমাত্র গুরুত্বপূর্ণ যে উপসেট যতটা সম্ভব বড় ।
আপনি কতগুলি কাজ শেষ করতে পারেন?
চ্যালেঞ্জ
12 টি পর্যন্ত আলাদা আলাদা প্রোগ্রাম লিখুন যার প্রতিটি নীচে তালিকাভুক্ত 12 টি কাজের মধ্যে সঠিকভাবে সমাধান করে। এই প্রোগ্রামগুলির দৈর্ঘ্যের সমষ্টিগত যোগফল 140 বাইটের বেশি হবে না
বিকল্পভাবে, আপনি একক প্রোগ্রাম লিখতে পারেন 140 বাইটের বেশি দীর্ঘ নয় যা 1 থেকে 12 সাল পর্যন্ত পূর্ণসংখ্যার লাগে এবং (আদর্শভাবে) সংশ্লিষ্ট কাজটি সমাধান করতে এগিয়ে যায়, প্রয়োজনীয় হিসাবে আরও ইনপুট গ্রহণ করে। সমস্ত টাস্কের কাজ করার দরকার নেই, তবে কেবলমাত্র সেইগুলি যা আপনার স্কোরের দিকে গণনা করে। যে কাজগুলি কাজ করে না তাদের ত্রুটি বা অন্য কিছু করার অনুমতি দেওয়া হয়।
উভয় ক্ষেত্রেই "প্রোগ্রাম" আসলে একটি ফাংশন হতে পারে যা ইনপুটটিকে আর্গুমেন্ট হিসাবে গ্রহণ করে বা এর জন্য অনুরোধ করে এবং আউটপুট প্রিন্ট করে বা ফেরত দেয়। সুতরাং, উদাহরণস্বরূপ, আপনি একটি 140 বাইট ফাংশন যা দেখতে দেখতে f(taskNumber, taskInput)
লিখতে পারেন , বা আপনি প্রতিটি টাস্কের জন্য পৃথক কোড স্নিপেট লিখতে পারেন, কিছু ফাংশন হিসাবে এবং কিছু সম্পূর্ণ-প্রোগ্রামযুক্ত প্রোগ্রাম হিসাবে।
অন্যান্য বিস্তারিত:
সমস্ত কোড অবশ্যই একই ভাষায় লেখা উচিত।
যথারীতি ইনপুটটি স্টিডিন, কমান্ড লাইন, একটি ফাংশন আর্গুমেন্ট বা আপনার ভাষার পক্ষে যা স্বাভাবিক। আউটপুট stdout বা আপনার ভাষার নিকটতম বিকল্পে মুদ্রিত হয়, বা একটি উপযুক্ত ধরণে ফিরে আসে।
যুক্তিসঙ্গত পরিমাণ ইনপুট ফর্ম্যাট করা ভাল; উদাহরণস্বরূপ স্ট্রিংগুলির কাছাকাছি বা
\n
প্রকৃত নিউলাইনগুলির পরিবর্তে esবহির্মুখী বিন্যাস বা হোয়াইটস্পেস না করে আউটপুটটি ঠিক কী বলা উচিত। ব্যতিক্রম হ'ল optionচ্ছিক একক ট্রেলিং নিউলাইন।
কেবলমাত্র একটি REPL পরিবেশে চলে এমন কোড কোনও প্রোগ্রাম বা ফাংশন গঠন করে না।
আপনি একাধিক কর্ম সমাধান করে এমন একাধিক প্রোগ্রাম লিখতে পারেন না। এটি হয় একটি প্রোগ্রাম যা (আদর্শভাবে) সমস্ত কাজগুলি সমাধান করে, বা (আদর্শভাবে) 12 টি প্রোগ্রাম যা প্রতিটি একক কার্যকে সমাধান করে।
আপনি যে লেখেননি বা কেবল কিছুটা সংশোধন করেছেন এমন কোনও টাস্ক সলিউশন পোস্ট করার জন্য মূল লেখকের প্রতিশ্রুতি না দিয়ে এবং আদর্শিকভাবে অনুমতিও পাওয়া যায় না। যদি আপনার উত্তরটি প্রাথমিকভাবে অন্যান্য সমস্ত উত্তর থেকে সংক্ষিপ্ত সমাধানগুলি রচনা করে তবে এটি একটি সম্প্রদায়ের উইকি হওয়া উচিত।
স্কোরিং
জমা দেওয়া যা সর্বাধিক কাজ সম্পূর্ণ করে তা হ'ল বিজয়ী। যদি দুটি সাবমিশন টাই হয় তবে সবচেয়ে কম বাইটের সাথে একটি জিততে পারে। যদি বাইট গণনাগুলি আবদ্ধ থাকে তবে পূর্বের জমাটি জিতে যায়। সম্প্রদায়ের উইকি উত্তরগুলিকে জয়ের অনুমতি নেই।
আপনি কোন কাজগুলি সমাধান করেছেন তা নিশ্চিত করে জানান, কেবল কয়টি নয়!
নন-গল্ফারদের জন্য প্রতিবন্ধকতা:
এটি সম্ভবত যে এই চ্যালেঞ্জটি গল্ফিং ভাষার দ্বারা প্রভাবিত হবে । অনেকগুলি ভাষায় 140 বাইটের মধ্যে একটি বা দুটি কাজও সমাধান করতে সমস্যা হতে পারে। সুতরাং আপনি একটি অপ্রতিযোগিতামূলক উত্তর জমা দিতে পারেন যেখানে সীমাটি 3 টি টুইট, অর্থাৎ 420 বাইট tes অন্যান্য সমস্ত বিধি একই থাকে।
কাজ
টাস্ক 1 - তিনটি নম্বর একটি ত্রিভুজ গঠন করতে পারে?
তিন ধনাত্মক পূর্ণসংখ্যা এবং আউটপুট একটি নিন truthy / falsy মান থাকুক বা না থাকুক তিন ঐ লেন্থ সঙ্গে লাইন ইঙ্গিত একটি ত্রিভুজ গঠন করতে পারে । আপনি কোনও নির্দিষ্ট ক্রমে নম্বরগুলি ধরে নাও নিতে পারেন।
সত্যবাদী উদাহরণ (প্রতি লাইনে একটি):
20 82 63
1 1 1
2 3 4
1 2 2
মিথ্যা উদাহরণ:
6 4 10
171 5 4
1 1 2
1 2 3
কার্য 2 - এক মিলিয়ন থেকে নিকটতম
ঠিক dec দশমিক অঙ্ক (০-৯) এর স্ট্রিং দেওয়া, একটি মিলিয়ন হিসাবে যতটা সম্ভব কাছাকাছি একটি নম্বর পেতে তাদের পুনর্বিন্যস্ত করুন। অর্থাত্ abs(1000000 - rearrangedNumber)
হ্রাস করা উচিত।
ফলাফল হিসাবে সংখ্যার মুদ্রণ করুন বা ফেরত দিন, স্ট্রিং নয় (সুতরাং আপনার ভাষার আদর্শ না হওয়াতে নেতৃস্থানীয় জিরো থাকা উচিত নয়)।
যেমন একটি ইনপুট 9034318
ফলাফল 984331
(এবং না 1033489
) হওয়া উচিত ।
2893984
হওয়া উচিত 2348899
।
0001000
হওয়া উচিত 1000000
।
0000020
হওয়া উচিত 200000
।
কার্য 3 - সাধারণ কীবোর্ড সিমুলেটর
ছোট হাতের অক্ষর (এজে), স্পেস এবং কোণ বন্ধনীগুলির স্ট্রিং নিন <>
। বাম থেকে ডানে পড়ুন, এই স্ট্রিংটি এমন কীগুলি উপস্থাপন করে যা একটি প্রাথমিক কীবোর্ডে টিপানো হয়েছিল যখন প্রাথমিক শূন্য পাঠ্য সম্পাদক খোলা ছিল। বর্ণগুলি এবং স্থানটি তাদের সাধারণ কীগুলির <
সাথে সামঞ্জস্য করে তবে বাম তীর কী এবং >
ডান তীর কী এর সাথে মিল রয়েছে, উভয়ই চাপলে কার্সারটি সরানো হয় ।
<
কার্সারটি একটি অক্ষর বামে সরানো হয় বা কার্সারটি স্ট্রিংয়ের শুরুতে থাকলে কিছুই করে না।
>
কার্সারটি একটি অক্ষর ডানদিকে সরায় বা কার্সারটি স্ট্রিংয়ের শেষে থাকলে কিছুই করে না।
একবার ইনপুট স্ট্রিংয়ের সমস্ত কী টিপলে টেক্সট এডিটরে থাকা স্ট্রিংটিকে আউটপুট দিন। কার্সারটি সরানোর জন্য আউটপুটিং এ্যাসিক কোডগুলি অনুমোদিত নয়।
ইনপুটটিতে সর্বদা কমপক্ষে একটি অ-তীর কী অক্ষর থাকবে।
যেমন ইনপুট ui<<q>>ck <<<<<<the<<<<>>> >>>>>>>>brown x<o<f
ফলন করা উচিত the quick brown fox
।
op<<l>>t<<<lam>>>>>>imi<<<><>>>zer<<<<<<<<<<<<<<<<<<>>><>m
দেওয়া উচিত llammoptimizer
।
e< <c<b<a
দেওয়া উচিত abc e
।
<<<>><><<><toast>><<>><><<>><
দেওয়া উচিত toast
।
4 কার্য - সম্পূর্ণ চিঠিপত্র
অনেক ফন্ট বড় হাতের ইংরেজি বর্ণমালা অক্ষর 6 অনুভূমিক এবং উল্লম্ব লাইন সম্পূর্ণভাবে: E
, F
, H
, I
, L
, এবং T
। আমরা এগুলিকে পূর্ণ চিঠিগুলি বলব।
বড় হাতের অক্ষরের একটি স্ট্রিং (এজেড) নিন এবং ফলস্বরূপ পূর্ণসংখ্যার আউটপুট তৈরি করে FILTHE অক্ষরে রেখার সংখ্যা গণনা করুন।
E
, F
, H
, I
, L
, এবং T
4, 3, 3, 3, 2, এবং 2 লাইন যথাক্রমে আছে।
উদাহরণস্বরূপ GEOBITS
4 + 3 + 2 = 9 টি লাইনের FILTHE অক্ষরের অংশ রয়েছে (এর জন্য .E..IT.
), সুতরাং আউটপুট হওয়া উচিত 9
।
ABCDEFGHIJKLMNOPQRSTUVWXYZ
আউটপুট করা উচিত 17
।
ABCDGJKMNOPQRSUVWXYZ
আউটপুট করা উচিত 0
।
FILTHYLINESINLETTERS
আউটপুট করা উচিত 39
।
টাস্ক 5 - অ্যালেক্স পুনরাবৃত্তকারী এ।
আমাদের মডারেটর অ্যালেক্স এ এর মোটামুটি রহস্যময় প্রাথমিক, "এ" রয়েছে।
এখন আমি নিশ্চিত নই, তবে আমি মনে করি এটি A.
দাঁড়ায় .A xelA
। এবং আমিও নিশ্চিত যে .A
সেখানে স্নেহকালে দাঁড়িয়ে আছে Alex A.
।
সুতরাং অ্যালেক্সের পুরো নাম পেতে আমাদের অবশ্যই A.
এর এবং এর প্রসারিত করতে হবে .A
:
Alex A. -> Alex [A.] -> Alex [.A xelA] -> Alex .A xelA -> Alex [.A] xelA -> Alex [Alex A.] xelA -> Alex Alex A. xelA -> etc.
আপনার প্রোগ্রামটিকে একটি অ-নেতিবাচক পূর্ণসংখ্যক গ্রহণ করতে দিন এবং Alex A.
ফলাফলটি স্ট্রিং আউটপুট করে বহুগুণ বাড়িয়ে দিন ।
তাই
0
হয়ে Alex A.
,
1
হয়ে Alex .A xelA
,
2
হয়ে Alex Alex A. xelA
,
3
হয়ে Alex Alex .A xelA xelA
,
4
হয়ে Alex Alex Alex A. xelA xelA
,
5
হয়ে Alex Alex Alex .A xelA xelA xelA
,
ইত্যাদি।
(আমি এটি তৈরি করলাম কারণ অজান্তেই অ্যালেক্সকে আমার আধুনিক শ্রদ্ধা নিবেদনের হাতছাড়া করতে পেরে আমার খারাপ লাগছিল : P
কার্য 6 - ন্যামপ্যাড ঘূর্ণন
1 থেকে 9 অন্তর্ভুক্ত পর্যন্ত পূর্ণসংখ্যায় নিন (আপনি এটি স্ট্রিং হিসাবে নিতে পারেন)। 3 × 3 বর্গের অঙ্কের আউটপুট
789
456
123
90 incre এর ইনক্রিমেন্টে আবর্তিত হয় যাতে উপরের সারিতে যে কোনও জায়গায় ইনপুট ডিজিট উপস্থিত হয়। যখন 5
ইনপুট হয় কোনও আবর্তন বৈধ আউটপুট হয় 5
না কেননা শীর্ষ দিকে ঘোরানো যায়।
যেমন কখন 3
ইনপুট হয়, উভয়ই
963
852
741
এবং
321
654
987
বৈধ আউটপুট হয়।
ইনপুট জন্য 4
, শুধুমাত্র
147
258
369
বৈধ আউটপুট।
টাস্ক - - দশকে দশকে বিভক্ত অঙ্কগুলি
দশমিক অঙ্কের একটি দুর্দান্ত স্ট্রিং নিন (0-9) এবং যদি সত্যের মানটিকে আংশিক বিভাগে বিভক্ত করা যায় যেখানে প্রতিটি বিভাগের সমস্ত অঙ্ক 10 এর সমান হয়। যদি এটি সম্ভব না হয় তবে একটি মিথ্যা মানটি আউটপুট করুন।
উদাহরণস্বরূপ , ভাগগুলি 10 টি (1 + 9, 3 + 0 + 6 + 1, 2 + 8) এর 19306128
মতো বিভক্ত হতে পারে 19|3061|28
, সুতরাং সত্যবাদী মানটি আউটপুট হওয়া উচিত।
সত্যবাদী উদাহরণ (প্রতি লাইনে একটি):
19306128
073
730
0028115111043021333109010
2222255
মিথ্যা উদাহরণ:
6810410
9218
12341
5222225
000
টাস্ক 8 - স্কয়ার ক্লক
ধারাবাহিক আকারের মাল্টলাইন স্ট্রিং নিন।
ইনপুট 12
থাকলে আউটপুট
_ _
| | |
|_ _|
ইনপুট 3
থাকলে আউটপুট
_ _
| |_|
|_ _|
ইনপুট 6
থাকলে আউটপুট
_ _
| | |
|_|_|
ইনপুট 9
থাকলে আউটপুট
_ _
|_| |
|_ _|
অন্য কোনও ইনপুট মামলা নেই।
কার্য 9 - বন্ধনী আর্ট
একটি 4 বাইট বাম বন্ধনী প্রতিটি এক ধারণকারী স্ট্রিং নিন (
, [
, {
, এবং <
কোনো অনুক্রমে।
সংশ্লিষ্ট ডান বন্ধনী যুক্ত করুন যাতে স্ট্রিংটি 8 বাইট দীর্ঘ এবং প্রতিসমের উল্লম্ব রেখা থাকে। যেমন [<({
হয়ে যায় [<({})>]
।
তারপরে এই স্ট্রিংয়ের প্রতিটি বন্ধনীকে বিপরীত করুন। যেমন [<({})>]
হয়ে যায় ]>)}{(<[
।
পৃথক রেখার উপরে এবং নীচে বিপরীত সংস্করণটি সহ মূল 8 বাইট বন্ধনী স্ট্রিং আউটপুট করুন।
সুতরাং ইনপুট জন্য চূড়ান্ত আউটপুট [<({
হবে
]>)}{(<[
[<({})>]
]>)}{(<[
একইভাবে, আউটপুটও <({[
হওয়া উচিত
>)}][{(<
<({[]})>
>)}][{(<
ইনপুটটি (<<[
অবৈধ কারণ এটি {
অনুপস্থিত এবং একটি অতিরিক্ত রয়েছে <
।
কার্য 10 - পেরিমিটারাইজ করুন
.
খালি জায়গার প্রতিনিধিত্ব করে এবং X
শক্ত টাইলগুলির প্রতিনিধিত্ব করে এমনগুলি দিয়ে তৈরি পাঠ্যের একটি আয়তক্ষেত্রাকার গ্রিড নিন (সবচেয়ে ছোটতে 1 × 1) । গ্রিডের সীমানার বাইরে থাকা ঘরগুলি খালি মনে করা হয়। আপনি চারটি গ্রিড প্রান্তের সারি এবং কলামগুলিতে প্রতিটি ধারণ করতে পারেন কমপক্ষে একটি থাকতে পারে X
।
যেমন একটি বৈধ ইনপুট হতে পারে:
XXX.....X.....
X..X...X.X....
XXX.....X....X
পাঠ্যের আরও একটি আয়তক্ষেত্রাকার গ্রিড আউটপুট করুন যেখানে ইনপুট গ্রিডের বাইরেরX
অংশগুলি সহ অর্থোগোনালি বা ত্রিভুজের মতো প্রতি ফাঁকা ঘর হয়ে যায় o
। সুতরাং মূলত o
শক্ত টাইলগুলির সমস্ত অংশের চারপাশে একটি পরিসীমা আঁকানো হয়। নতুন গ্রিডটি যতটা বড় হবে তার চেয়ে বড় হওয়া উচিত নয়।
সুতরাং উপরের উদাহরণটির ফলাফল হবে:
ooooo...ooo.....
oXXXoo.ooXoo....
oXooXo.oXoXo.ooo
oXXXoo.ooXoo.oXo
ooooo...ooo..ooo
একইভাবে, ইনপুট আউটপুট XXX..X.X
হওয়া উচিত
oooooooooo
oXXXooXoXo
oooooooooo
এবং আউটপুটিং
oooooooooo.
oXXXooXoXo.
oooooooooo.
অবৈধ হবে কারণ খালি ডানদিকের কলামটি অপ্রয়োজনীয় unnecessary
আপনি যে কোনো 3 স্বতন্ত্র ব্যবহার করতে পারেন মুদ্রণযোগ্য হওয়া ASCII স্থানে অক্ষর .
, X
এবং o
।
কার্য 11 - স্যাটার স্কয়ার
স্যাটার স্কয়ার আউটপুট :
SATOR
AREPO
TENET
OPERA
ROTAS
যে কোনও অক্ষর ছোট হাতের বা বড় হাতের অক্ষর হতে পারে
SatOR
aRePO
tenet
OPERa
RoTaS
বৈধ আউটপুটও।
কোনও ইনপুট নেই।
কার্য 12 - প্রধান টুইট
কোনও ইনপুট না নিয়েই 140 বাইট প্রিন্টযোগ্য এএসসিআইআই স্ট্রিংয়ের আউটপুট নিন যা 95 টি মুদ্রণযোগ্য ASCII অক্ষরের প্রত্যেকটির অন্তত একটি অন্তর্ভুক্ত করে। (সুতরাং ৪৫ টি অক্ষর নকল হবে))
এই স্ট্রিং সমস্ত 140 বাইটের চরিত্র কোডের যোগফল হতে হবে সোফি জার্মেই প্রধানমন্ত্রী , অর্থাত্ একটি মৌলিক সংখ্যা p
যেমন যে 2p+1
এছাড়াও প্রধানমন্ত্রী হয়। স্পেসের অক্ষর কোডটি 32, 33 এর জন্য !
34, 34 "
এবং আরও 126 অবধি ~
। যোগফলটি পাইথন হিসাবে গণনা করা যেতে পারে sum(map(ord, myString))
।
একটি উদাহরণ আউটপুট হয়:
! "#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~STUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~d
অক্ষর কোডের যোগফলটি প্রাইম 12203 যার সম্পর্কিত নিরাপদ প্রাইম 24407।
import
এস থেকে বাইট গণনা করা উচিত ? আসুন আমি বলি যে আমি 5 টি ফাংশন লিখি যেখানে 2 একই মডিউলের প্রয়োজন (যেমন import Math
), এটি কি দুইবার গণনা করা হয়?