কম্পিউটার

C++ এ 4 দ্বারা বিভাজ্য ঘূর্ণন গণনা করুন


আমাদের একটি বড় সংখ্যা দেওয়া হয়. লক্ষ্য হল 4 দ্বারা বিভাজ্য সংখ্যার ঘূর্ণন গণনা করা।

যেমন বারবার ঘূর্ণন করা যায় না। আমরা 4 গুণ দ্বারা বিভাজ্য ব্যবহার করব। যদি শেষ দুটি সংখ্যা 4 দ্বারা বিভাজ্য হয় তবে সংখ্যাটি 4 দ্বারা বিভাজ্য। সংখ্যাটি 1234 হলে এর ঘূর্ণন হবে 1234, 4123, 3412, 2341 যার মধ্যে 3412টি 4 দ্বারা বিভাজ্য হবে কারণ শেষ দুটি সংখ্যা 12 4 দ্বারা বিভাজ্য।

আসুন উদাহরণ দিয়ে বুঝতে পারি।

ইনপুট − সংখ্যা=15324

আউটপুট − 4 দ্বারা বিভাজ্য ঘূর্ণনের গণনা হল:2

ব্যাখ্যা − ঘূর্ণন হল −

15324, 41532, 24153, 32415, 53241

এর মধ্যে 15324 এবং 41532 4 দ্বারা বিভাজ্য হবে।

ইনপুট − num=848484

আউটপুট − 4 দ্বারা বিভাজ্য ঘূর্ণনের গণনা হল − 6

ব্যাখ্যা − ঘূর্ণন হল −

848484, 484848, 848484, 484848, 848484, 484848

এই সমস্ত ঘূর্ণন 4

দ্বারা বিভাজ্য

নিচের প্রোগ্রামে ব্যবহৃত পদ্ধতিটি নিম্নরূপ

আমরা সংখ্যাটিকে একটি স্ট্রিং-এ রূপান্তর করব এবং একটি লুপ ব্যবহার করে সংখ্যাটি অতিক্রম করব। দুটি সংখ্যার প্রতিটি জোড়ার জন্য তাদের একটি পূর্ণসংখ্যাতে রূপান্তর করুন এবং 4 দ্বারা বিভাজ্যতা পরীক্ষা করুন। যদি বিভাজ্য হয় তবে গণনা বৃদ্ধি করুন।

  • সংখ্যাটিকে লম্বা লম্বা সংখ্যা হিসাবে নিন।

  • ফাংশন ঘূর্ণন_4(দীর্ঘ দীর্ঘ সংখ্যা) সংখ্যা সংখ্যা নেয় এবং 4 দ্বারা বিভাজ্য সংখ্যার ঘূর্ণনের গণনা প্রদান করে।

  • সংখ্যাটিকে string str=to_string(num) এ রূপান্তর করুন।

  • সংখ্যার সংখ্যা হবে length=str.length().

  • সংখ্যার জোড়ার পূর্ণসংখ্যা মান সংরক্ষণের জন্য অস্থায়ী পরিবর্তনশীল সংখ্যা=0 নিন।

  • 0 হিসাবে প্রাথমিক গণনা নিন।

  • যদি দৈর্ঘ্য 1 হয় তবে শুধুমাত্র একটি একক সংখ্যা উপস্থিত থাকে। এটিকে পূর্ণসংখ্যাতে রূপান্তর করুন, অঙ্ক=(str.at(0)-'0’)

  • 4 দ্বারা বিভাজ্যতা পরীক্ষা করুন এবং ফলাফল 1 বা 0 হিসাবে ফেরত দিন।

  • এখন i=0 থেকে I এর জন্য লুপ ব্যবহার করে str ট্রাভার্স করুন

  • digit=(str.at(i)-'0')*10 + (str.at(i+1)-'0') ব্যবহার করে দুটি সংখ্যার সংখ্যা তৈরি করুন কারণ প্রতিটি জোড়া ঘূর্ণনের শেষ দুটি সংখ্যা হয়ে যাবে৷

  • ডিজিট=(str.at(দৈর্ঘ্য-1)-'0')*10 + (str.at(0)-'0' ব্যবহার করে শেষ সংখ্যা এবং প্রথম সংখ্যা দ্বারা গঠিত জোড়ার জন্য উপরের মতো একই প্রক্রিয়া করুন; 4 দ্বারা বিভাজ্যতা পরীক্ষা করুন এবং গণনা আপডেট করুন।

  • শেষ পর্যন্ত ফলাফল হিসাবে গণনা ফেরত.

উদাহরণ

#include <bits/stdc++.h>
using namespace std;
int Rotation_4(long long num){
   string str = to_string(num);
   int length = str.length();
   int digit = 0, count = 0;
   if (length == 1){
      digit=(str.at(0)-'0');
      if(digit%4 == 0){
         return 1;
      }
      else{
         return 0;
      }
   }
   for (int i=0; i<(length-1); i++){
      digit = (str.at(i)-'0')*10 + (str.at(i+1)-'0');
      if(digit%4 == 0){
         count++;
      }
   }
   digit = (str.at(length-1)-'0')*10 + (str.at(0)-'0');
   if(digit%4 == 0){
      count++;
   }
   return count;
}
int main(){
   long long num = 24040;
   cout<<"Count of rotations divisible by 4 are: "<<Rotation_4(num);
   return 0;
}

আউটপুট

যদি আমরা উপরের কোডটি চালাই তবে এটি নিম্নলিখিত আউটপুট −

উৎপন্ন করবে
Count of rotations divisible by 4 are: 4

  1. C++ এ বিভাজ্য 'k' সমষ্টি সহ সাব-ম্যাট্রিক্স গণনা করুন

  2. C++-এ k দ্বারা বিভাজ্য সাবঅ্যারে গণনা করুন

  3. C++ এ 8 দ্বারা বিভাজ্য ঘূর্ণন গণনা করুন

  4. C++ এ সাজানো এবং ঘোরানো লিঙ্ক তালিকায় ঘূর্ণন গণনা করুন