এটি আমার সি / সি ++ ধাঁধা সিরিজের তৃতীয়; আপনি যদি প্রথম 2 টি মিস করেন তবে তারা এখানে আছেন: (1) এম 3 এফ 1 স্টস এর প্রোগ্রামিং ধাঁধা 1 (সি ++) (2) এম 3 এফ 1 স্টেস এর প্রোগ্রামিং ধাঁধা 2 (সি ++): "হার্ড ডাক!"
আমার অবশ্যই বলতে হবে যে আমার ধাঁধা 100% আসল। যদি তা না হয় তবে আমি সর্বদা পাঠ্যে উল্লেখ করব। আমার তৃতীয় ধাঁধাটির 2 টি অংশ রয়েছে:
ধাঁধা 3.1
এই অংশটি (৩.১) আমার কোনও মূল ধাঁধা নয়, এটি কিছুটা ইন্টারনেট পৃষ্ঠা থেকে সংগ্রহ করা হয়েছে যা আমি কিছুক্ষণ আগে পড়েছি। আমি এটি এখানে আপনার একটি প্রাথমিক পয়েন্ট এবং একটি ওয়ার্ম-আপ হিসাবে ব্যবহার করি। এটি সমাধান করুন এবং তারপরে দ্বিতীয় অংশে যান।
কেউ "20" চিহ্নটি 20 বার মুদ্রণের চেষ্টা করেছিল এবং নিম্নলিখিত প্রোগ্রামটি নিয়ে আসে:
#include <stdio.h>
int main() {
int i;
int n = 20;
for( i = 0; i < n; i-- )
printf("+");
return 0;
}
এটির প্রত্যাশিত ফলাফল না হওয়ার বিষয়টি সুস্পষ্ট - প্রোগ্রামটি কখনই শেষ হয় না। ঠিক কর! সহজ? এখন কেবলমাত্র একটি অক্ষর পরিবর্তন করে প্রোগ্রামটি ঠিক করুন - অবশ্যই স্থানের অ-অক্ষর! এই চ্যালেঞ্জের জন্য 3 টি সমাধান রয়েছে। এর মধ্যে 3 টি সন্ধান করুন। কেবল এটি পরিষ্কার করার জন্য: প্রোগ্রামটি অবশ্যই 20 + চিহ্নগুলি আউটপুট করে এবং অবশ্যই দ্রুত শেষ হতে হবে। "দ্রুত" অর্থ কী তা নিয়ে আমার সমালোচনা করার আগে, আমি বলব এর সর্বাধিক কয়েক সেকেন্ডের অর্থ (যা উপায় দ্বারা খুব বেশি তবে কেবল এটি স্ফটিক পরিষ্কার করার জন্য)।
ধাঁধা 3.2
সম্পাদনা করা আমার আগে ইঙ্গিত করা হয়েছিল যে 3.2.2 ধাঁধা জন্য সমাধান সংকলক নির্ভর করতে পারে। এই বিষয়ে যে কোনও সম্ভাব্য আলোচনা বাদ দিতে, আমি ধারণাটি পরিবর্তন করব এবং বিতর্ক সৃষ্টি না করার জন্য অতিরিক্ত যত্ন নেব যখন আমি পরবর্তী ধাঁধাতে এটি উন্নত করব। তবে, এই ধাঁধাটি চালিয়ে যেতে, আমি ৩.২.২ এর জন্য একটি ছোট পরিবর্তন করব (সমাধানটি সহজ তবে ক্লিনার হবে)।
আমি যখন ধাঁধাটি প্রথম দেখলাম তখন দেখতে পেলাম দুর্দান্ত। আমি এটি সমাধান করার ব্যবস্থা করেছিলাম তবে তত্ক্ষণাত্ নয় যেহেতু এর জন্য কিছুটা মনোযোগ দেওয়া দরকার। আপনি যদি এখানে থাকেন তবে এর অর্থ আপনিও এটি সমাধান করেছেন। আপনি যদি এমন সম্ভাব্য সমস্ত অক্ষরকে সমস্ত সম্ভাব্য মানগুলির সাথে প্রতিস্থাপন এবং প্রতিটি সমাধান পরীক্ষা করার জন্য একটি প্রোগ্রাম লিখে লিখে থাকেন তবে আপনি হারিয়ে গেছেন। পরিশ্রমী লোক যদিও। 20 "চিহ্ন" লিখেছেন এমন প্রোগ্রামটি সংশোধন করে এখন:
৩.২.১: কোডে একটি একক চিঠি এবং আরও কিছু সন্নিবেশ করান যাতে ফলাফলটি বৈধ হয় এবং সমস্ত 3 সংশোধিত প্রোগ্রামে একই জিনিসকে আউটপুট করে। বলা বাহুল্য, চিঠিটি অবশ্যই মূল ঘেরের আগে হওয়া উচিত (আমি বলছি কারণ আমি এমন লোকদের শুনতে চাই না যারা প্রোগ্রামের পরে কেবল একটি চিঠি রেখেছিল এবং কোনওভাবে তাদের সংকলকটি খুব বন্ধুত্বপূর্ণ ছিল)।
সম্পাদিত (নমুনা দেখুন) - এই চূড়ান্ত প্রশ্নের জন্য বিবেচনা করুন যে আমি কাউন্টারটি 0 এর পরিবর্তে -1 থেকে শুরু করব।
3.2.1.5: আউটপুট কমপক্ষে 19 "+" লক্ষণগুলি (তবে এখনও একটি সীমাবদ্ধ আউটপুট) এই শর্তটি সহ পূর্ববর্তী সমস্ত সমস্যার পুনরাবৃত্তি করুন। স্থান পরিবর্তন করার অনুমতি দেওয়া হয়। প্রথম দিকের চেয়ে এখন আপনি আরও সমাধান খুঁজে পেতে পারেন। এর মধ্যে কয়েকটি অবশ্যই ৩.২.২ প্রশ্নের উপযুক্ত হবে।
৩.২.২: ভেরিয়েবল এন সূচনা করার জন্য আরও একটি মান চয়ন করুন যাতে ফলস্বরূপ আউটপুট কমপক্ষে একটি 3.2.1.5-এ সংশোধিত প্রোগ্রামের জন্য একই থাকবে (তাদের সকলের জন্য অগত্যা নয়)।
শেষ সম্পাদনা 1 : প্রোগ্রামটি পরিবর্তন করা যাতে এটি 21 "+" চিহ্নগুলিকে আউট করে দেয় এটি এখনও একটি ভাল সমাধান, কারণ মূল পাঠ্যটি "হুবহু" 20 চিহ্নগুলি না বলে। তবে অসীম আউটপুট নিষিদ্ধ। স্পষ্টতই এর অর্থ এই নয় যে আসুন আমরা সকলেই "+" শত শত চিহ্নগুলি আউটপুট তৈরি শুরু করি যেহেতু এটি নিষিদ্ধ নয়। তবে একটি সুন্দর 21 আউটপুট অপসারণ এই প্রতিযোগিতার মনোভাব নয়।
সর্বশেষ সম্পাদনা 2 : সর্বশেষ এডিট 1 বিবেচনা করে এবং স্থান পরিবর্তনকে গ্রহণ করে মনে হচ্ছে এখন আমাদের কাছে 5 টি সম্ভাব্য সমাধান রয়েছে যার মধ্যে চারটি ইতিমধ্যে প্রতিক্রিয়াগুলিতে চিহ্নিত করা হয়েছে। তবে সর্বশেষ চ্যালেঞ্জটি স্পর্শ করা হয়নি এবং আমি আরও একবার এটি স্পষ্ট করে বলতে হবে: এনকে অবশ্যই আরও একটি মূল্য নির্ধারণ করতে হবে, যে সমাধানগুলি 20 থেকে n নির্দিষ্ট করে এমন কৌশলগুলি তা করবে না (যেমন এন = 20 এল)। এছাড়াও আমি তৃতীয় সমাধান দেখতে পছন্দ করি যা স্থানগুলি পরিবর্তন করে না।
শেষ সংস্করণ 3 : আমি শেষ প্রশ্নগুলি সম্পাদনা করেছি, দয়া করে পড়ুন!
ধাঁধা উভয় অংশ সমাধান করা চ্যালেঞ্জ। এটি করতে প্রথমটি জিতে যায়।
আমি আশা করি এটি পরিষ্কার হয়ে গেছে, যদি না হয় কোনও প্রশ্ন পোস্ট করুন এবং আমি যত তাড়াতাড়ি সম্ভব সম্পাদনা করব। চিয়ার্স। জোর দেওয়া পাঠ্য