এই মন্তব্য দ্বারা অনুপ্রাণিত ...
ব্যবহারকারীদের স্টেপ হেন , গম-উইজার্ড এবং ডেনিসকে পোস্ট করার আগে এই চ্যালেঞ্জের বিশদটি আরও দৃ solid় করতে সহায়তা করার জন্য ধন্যবাদ!
এটি কপসের থ্রেড। ডাকাতদের থ্রেডের জন্য, এখানে যান
ইন এই প্রতিদ্বন্দ্বিতা , আপনি কিছু কোড এটা তোলে যাতে আপনার ভাষা আর একটি প্রোগ্রামিং ভাষা হচ্ছে আমাদের মানদণ্ড সন্তুষ্ট চলমান সঙ্গে tasked হয়। সেই চ্যালেঞ্জের মধ্যে, এর অর্থ এটি তৈরি করা যাতে ভাষা আর আর না করে ...
সংখ্যার ইনপুট এবং আউটপুট নিন
একসাথে দুটি সংখ্যা যুক্ত করুন
নির্দিষ্ট সংখ্যাটি মৌলিক কিনা তা পরীক্ষা করুন।
এটি একটি পুলিশ-ডাকাতদের চ্যালেঞ্জ, যেখানে দুটি পৃথক উদ্দেশ্য নিয়ে দুটি পৃথক চ্যালেঞ্জ রয়েছে: কপস এমন কিছু কোড লেখার চেষ্টা করবেন যা ভাষাটিকে বেশিরভাগ অকেজো করে তোলে এবং ডাকাতরা পুলিশকে অনুমতি দেয় এমন লুকানো কাজের সন্ধানের চেষ্টা করবে তাদের ভাষা পুনরুদ্ধার করতে।
একজন পুলিশ হিসাবে আপনাকে অবশ্যই কোডের দুটি স্নিপেট লিখতে হবে:
আপনার ভাষাটি বেশিরভাগই অকেজো করে তোলে, উদাহরণস্বরূপ ইনপুট / আউটপুট এবং সংখ্যাগত ক্রিয়াকলাপগুলি গ্রহণের জন্য অন্তর্নির্মিত ফাংশনগুলি সরিয়ে। আপনি যত বেশি বৈশিষ্ট্য অপসারণ করবেন তত ভাল। এই কোড করা হয় না বিপর্যস্ত বা প্রস্থানের অনুমতি দেওয়া। এই স্নিপেটের শেষে কোড যুক্ত করা সম্ভব হওয়া উচিত, এবং সেই কোডটি মূল্যায়ন করা হবে । এবং...
... কোডের একটি স্নিপেট যা দুটি অ-নেতিবাচক পূর্ণসংখ্যাকে ইনপুট হিসাবে গ্রহণ করে, সেগুলি একসাথে যুক্ত করে, এবং তাদের যোগফল আউটপুট করে। এই স্নিপেটটি অবশ্যই প্রথম স্নিপেট চালানোর পরেও সঠিকভাবে কাজ করবে। যখন দুটি স্নিপেট একসাথে একত্রিত হয়, তাদের অবশ্যই একটি সম্পূর্ণ প্রোগ্রাম তৈরি করতে হবে যা দুটি সংখ্যা যুক্ত করে, বা একটি ফাংশন সংজ্ঞা দেবে যা দুটি সংখ্যা যুক্ত করে। আদর্শভাবে, এই স্নিপেটটি খুব অস্পষ্ট আচরণের উপর নির্ভর করা উচিত, যাতে এটি খুঁজে পাওয়া আরও বেশি কঠিন হয়।
আপনি ইনপুট এবং আউটপুট কোনও মানক পদ্ধতি চয়ন করতে পারেন । তবে আপনাকে অবশ্যই কোন ফর্ম্যাটটি (ইনপুট এবং আউটপুট) ব্যবহার করছেন তা অবশ্যই প্রকাশ করতে হবে। ডাকাত আপনার উত্তর ক্র্যাক করতে পারে না যদি না তারা আপনার মতো একই ফর্ম্যাটটি ব্যবহার করে।
এই দুটি স্নিপেট লেখার পরে, আপনাকে অবশ্যই দ্বিতীয়টি প্রকাশ না করে উত্তর হিসাবে প্রথম পোস্ট করতে হবে। আপনার উত্তরে নিম্নলিখিত সমস্ত তথ্য থাকা উচিত:
প্রথম স্নিপেট (স্পষ্টত দ্বিতীয়)।
ভাষা (ছোটখাট সংস্করণ সহ, যেহেতু বেশিরভাগ জমাগুলি সম্ভবত অদ্ভুত প্রান্তের ক্ষেত্রে নির্ভর করবে)
এটি ফাংশন বা পূর্ণ প্রোগ্রাম কিনা তা সহ আইও ফর্ম্যাট। ডাকাতের আবশ্যক একই বিন্যাস ব্যবহার তাদের ক্র্যাক বৈধ হতে পারে।
আপনার উত্তরটির কাজের জন্য যে কোনও অদ্ভুত প্রান্তের প্রয়োজন। উদাহরণস্বরূপ, শুধুমাত্র লিনাক্সের উপর চালিত হয় , বা একটি ইন্টারনেট সংযোগ প্রয়োজন । স্পষ্টতই, এটি কিছুটা সাবজেক্টিভ, তবে যদি কোনও পুলিশে কিছু চরম প্রান্তের মামলা থাকে যা এটি ক্র্যাক হওয়া থেকে বাধা দেয় এবং সুরক্ষিত হওয়ার পরে কেবল এটি প্রকাশ পায় তবে আমি এই দরিদ্র ক্রীড়াবিদ হিসাবে বিবেচনা করি। একজন সম্ভাব্য ডাকাত আপনার উত্তর ক্র্যাক হওয়ার আগে প্রয়োজনীয় ক্র্যাক করার জন্য প্রয়োজনীয় সমস্ত তথ্য থাকা উচিত ।
আপনার উত্তর নিরাপদ না হওয়া পর্যন্ত আপনার বাইট গণনা প্রকাশ করার দরকার নেই।
এখানে একটি উদাহরণ। প্রথম স্নিপেটের জন্য, আপনি নিম্নলিখিত পাইথন 3 প্রোগ্রাম জমা দিতে পারেন:
পাইথন ঘ
print=None
STDIN এবং আউটপুট STDOUT এ ইনপুট নেয়
এবং তারপরে আপনার দ্বিতীয় স্নিপেট হিসাবে আপনি লিখতে পারেন:
import sys
a,b=int(input()),int(input())
sys.stdout.write(a+b)
এটি বৈধ কারণ এটি দুটি সংখ্যাকে ইনপুট হিসাবে গ্রহণ করবে এবং আপনি দুটি স্নিপকেটে একসাথে যোগদান করলেও তাদের যোগফল আউটপুট করবে, যেমন
print=None
import sys
a,b=int(input()),int(input())
sys.stdout.write(a+b)
তবে ডাকাতদের সমাধান খুঁজে পাওয়া এটি অত্যন্ত সহজ হবে easy যেহেতু এটি ক্র্যাক করা খুব সহজ হবে, আপনি এই জাতীয় পদ্ধতির মতো করে প্যাচ করার চেষ্টা করতে পারেন:
import sys
sys.stdout=None
print=None
তবে এটিরও খুব সহজ কাজ রয়েছে:
del print
a,b=int(input()),int(input())
print(a+b)
একজন পুলিশ হিসাবে, আপনার লক্ষ্য লুকানো কাজটিকে যতটা সম্ভব অস্পষ্ট হিসাবে তৈরি করা, ডাকাতদের এটির সন্ধান থেকে রোধ করা।
ডাকাত আপনার উত্তর এক তাকান, এবং এটা ফাটল করার চেষ্টা করবে। তারা স্নিপেট 2 হিসাবে কাজ করতে পারে এমন কোনও বৈধ স্নিপেট লিখে (ভাষাটি বেশিরভাগ অব্যবহৃত হওয়ার পরে এক সাথে দুটি সংখ্যা যুক্ত করে) লিখে এটি ক্র্যাক করতে পারে। এই আছে না হিসাবে আপনি মূলত অভিপ্রেত একই স্নিপেট হতে হবে। যদি কোনও ডাকাত আপনার উত্তরটি ক্র্যাক করে তবে তারা আপনার উত্তরের বিষয়ে একটি মন্তব্য দেবে এবং তারপরে আপনার এটি সম্পাদনা করা উচিত যাতে এটি ফাটল পড়েছে indicate যদি আপনার পোস্টটি ফাটল ধরে থাকে তবে সমাধানটি (স্নিপেট 2) মূলত আপনি যা চান তা দেখানোর জন্য আপনার উত্তরটি সম্পাদনা করা উচিত। এটি প্রতি নিয়ম নয় , গেমটিকে মজাদার রাখার জন্য একটি বন্ধুত্বপূর্ণ পরামর্শ। তোমাকে করতে হবেনা.
যদি উত্তরটি পুরো এক সপ্তাহ অবরুদ্ধ থাকে, আপনি নিজের দ্বিতীয় স্নিপেটে সম্পাদনা করতে পারবেন এবং নির্দেশিত হবেন যে আপনার উত্তরটি এখন নিরাপদ । আপনি যদি সপ্তাহ শেষ হওয়ার পরে এটি সম্পাদনা না করেন, অন্য ব্যবহারকারীরা আপনার না করা পর্যন্ত এটি ক্র্যাক করতে পারে। যদি আপনি নিজের দ্বিতীয় স্নিপেটটি প্রকাশ না করেন তবে আপনি নিজের উত্তরের জন্য পয়েন্ট দাবি করতে পারবেন না, বা নিরাপদ বলতে পারবেন না।
পুলিশদের থ্রেডের বিজয়ী হ'ল উভয় স্নিপকেট সহ স্বল্পতম নিরাপদ উত্তর , বাইটে গণনা করা হয়েছে এবং পর্যাপ্ত সময় পার হওয়ার পরে এই উত্তর গৃহীত হবে । আপনাকে যা না আপনার বাইট গণনা প্রকাশ না হওয়া পর্যন্ত আপনার উত্তর, নিরাপদ, যেহেতু বাইট গণনা পর্যন্ত আপনার উত্তর নিরাপদ আপনার স্কোর করতে অপ্রাসঙ্গিক প্রয়োজন। যদি পর্যাপ্ত সময় পার হয়ে যায় এবং কোনও উত্তর আবদ্ধ না হয় তবে বিজয়ীর এমন উত্তর হবে যা দীর্ঘ সময়ের জন্য অবরুদ্ধ থাকে।
আনন্দ কর!
বিধি স্পষ্টতা
প্রথম স্নিপেট অবশ্যই কোনও ইনপুট না নিয়ে সঠিকভাবে চালাতে হবে । এটি আপনার পছন্দ মতো আউটপুট দিতে পারে এবং এই আউটপুটটিকে উপেক্ষা করা হবে - স্নিপেটটি শেষ হওয়ার পরে, দ্বিতীয় স্নিপেটটি সঠিকভাবে চলবে।
আপনার উত্তরটি বৈধ হওয়ার জন্য দ্বিতীয় স্নিপেটটি অবশ্যই কার্যকর করা উচিত । এর অর্থ একটি উত্তর
import sys sys.exit()
বৈধ নয় কারণ এটি ভাষা ভঙ্গ করে না। এটা সহজভাবে প্রস্থান। একইভাবে, একটি অসীম লুপ প্রবেশ করা বৈধ নয়, যেহেতু দ্বিতীয় স্নিপেটটি কখনই কার্যকর হবে না।
সুরক্ষিত থাকার পরে, আপনার স্কোর হ'ল উভয় স্নিপকেটের বাইট গণনা ।
এটি আপনার কাজের উত্তরের জন্য প্রয়োজনীয় যে কোনও অদ্ভুত প্রান্তের কেসটি প্রকাশ করুন দয়া করে ফিরে যান ... আপনার জমাতে অবশ্যই প্রকাশিত হওয়ার পরে পুনরুত্পাদনযোগ্য হিসাবে প্রকাশের আগে পর্যাপ্ত তথ্য থাকতে হবে । এর অর্থ হ'ল যদি আপনার উত্তরটি নিরাপদ হয়ে যায় এবং তারপরে আপনি এডিট করেন: আমার উত্তর এখানে। ওহ হ্যাঁ, বিটিডাব্লু এটি কেবল তখনই কাজ করে যদি আপনি সোলারিসে এটি চালান, রসিকতা আপনার উপর! আপনার উত্তরটি অবৈধ এবং মুছে ফেলা হবে এবং জয়ের যোগ্য হিসাবে বিবেচিত হবে না।
যোগফল আউটপুট করার পরে দ্বিতীয় স্নিপেটকে ক্র্যাশ করার অনুমতি দেওয়া হয় - যতক্ষণ না আউটপুট এখনও সঠিক থাকে (উদাহরণস্বরূপ, আপনি যদি এসটিডিআরআর থেকে আউটপুট চয়ন করেন, এবং তারপরে আপনি ক্র্যাশের তথ্য সংগ্রহ করেন তবে এটি অবৈধ)।
উত্তর জমা দেওয়ার পরে আপনি আপনার কোডটি সম্পাদনা করতে পারবেন না।
আপনি এনক্রিপশন, হ্যাশ ফাংশন, সিএসপিআরএনজি ইত্যাদির মতো ক্রিপ্টোগ্রাফিক ফাংশনগুলির উপর নির্ভর করতে পারেন না
int main(){ do_evil_stuff(); }
ব্যবহারকারীদের কোডটি কোথায় যাওয়া উচিত? কোন অনুষ্ঠানে? সব বক্তব্য পরেmain
?