কম্পিউটার টিউটোরিয়াল

সি প্রোগ্রাম: টাওয়ার অফ হ্যানোই (Tower of Hanoi)

টাওয়ার অফ হ্যানোই একটি গাণিতিক পাজল। এতে তিনটি রড এবং বিভিন্ন আকারের ডিস্ক রয়েছে যেগুলো যেকোনো রডে স্লাইড করে যেতে পারে। পাজলটি শুরু হয় ডিস্কগুলো এক রডে আকার অনুযায়ী আক্রমণক্রমে স্ট্যাক করে (সबচোটো উপরে)। লক্ষ্য হলো একই স্ট্যাকটি তৃতীয় রডে তৈরি করা।

পাজল সমাধানের নിയমগুলো:

  • একবারে শুধু একটি ডিস্ক সরানো যায়।
  • প্রতিটি মুভে একটি স্ট্যাকের উপরের ডিস্ক নেয়া হয় এবং অন্য স্ট্যাকের উপরে রাখা হয়। অর্থাৎ ডিস্ক সরানো যায় কেবল তখনি যখন সেটি কোনো স্ট্যাকের উপরের ডিস্ক হয়।
  • کوটি বড় ডিস্কের ওপর ছোট ডিস্ক রাখা যায় না।

নমুনা

ইনপুট - ৩

আউটপুট -

A to B
A to C
B to C
A to B
C to A
C to B
A to B

ব্যাখ্যা: রিকার্সিভ ফাংশন ব্যবহার করে টাওয়ার অফ হ্যানোই সমাধান করা হয়।

উদাহরণ কোড

#include <stdio.h>
void TOH(int n, char x, char y, char z) {
    if (n > 0) {
        TOH(n-1, x, z, y);
        printf("\n%c to %c", x, y);
        TOH(n-1, z, y, x);
    }
}
int main() {
    int n = 3;
    TOH(n, 'A', 'B', 'C');
    return 0;
}

আউটপুট

A to B
A to C
B to C
A to B
C to A
C to B
A to B
  1. C প্রোগ্রাম: সমান্তরাল চতুর্ভুজের পরিধি (Circumference) বের করা

  2. C প্রোগ্রাম: cos(x) সিরিজের যোগফল বের করা

  3. C প্রোগ্রাম: অ্যারে-এর উপাদানগুলোর গুণফল (Product) বের করা

  4. C-এ ক্রিসমাস ট্রি প্রিন্ট করার প্রোগ্রাম (এনিমেশন সহ)