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

সি++ প্রোগ্রাম: লিংকড লিস্টের শেষ N নোডের গুণফল নির্ণয়


একটি লিংকড লিস্টে কিছু উপাদান দেওয়া থাকলে, শেষ n সংখ্যক উপাদানের গুণফল বের করতে হবে। n-এর মানও দেওয়া থাকবে। যেমন লিস্ট [5, 7, 3, 5, 6, 9] এবং n = 3 হলে, ফলাফল 5 * 6 * 9 = ২৭০।

প্রক্রিয়া সহজ। বাম দিক থেকে বর্তমান উপাদান পড়ে স্টকে (stack) রাখা। স্টকে পূর্ণ হলে nটি উপাদান পপ করে গুণফল (prod) দিয়ে গুণ করা (প্রাথমিক prod = ১)। nটি উপাদান पार হলে থামতে হবে।

উদাহরণ

 #include<iostream> #include<stack> using namespace std;    class Node{    public:       int data;       Node *next;    };    Node* getNode(int data){       Node *newNode = new Node;       newNode->data = data;       newNode->next = NULL;       return newNode;    }    void append(struct Node** start, int key) {       Node* new_node = getNode(key);       Node *p = (*start);       if(p == NULL){          (*start) = new_node;          return;       }       while(p->next != NULL){          p = p->next;       }       p->next = new_node;    }    long long prodLastNElements(Node *start, int n) {       if(n <= 0)          return 0;       stack stk;       long long res = 1;       Node* temp = start;       while (temp != NULL) {          stk.push(temp->data);          temp = temp->next;       }       while(n--){          res *= stk.top();          stk.pop();       }    return res; } int main() {    Node *start = NULL;    int arr[] = {5, 7, 3, 5, 6, 9};    int size = sizeof(arr)/sizeof(arr[0]);    int n = 3;    for(int i = 0; i 

আউটপুট

Product of last n elements: 270

  1. সি++-এ সার্কুলার লিংকড লিস্টের নোডগুলোর যোগফল (Sum)

  2. সি++-এ লিংকড লিস্টের অল্টারনেট নোডগুলোর যোগফল

  3. C++-এ সার্কুলার লিঙ্কড লিস্টে নোড গণনা

  4. C++-এ পারফেক্ট বাইনারি ট্রি (Perfect Binary Tree) সকল নোডের যোগফল নির্ণয়