কম্পিউটার

জাভাস্ক্রিপ্টে পুনরাবৃত্তি করা দশমিক অংশের দৈর্ঘ্য খুঁজে বের করা


সমস্যা

আমাদের একটি জাভাস্ক্রিপ্ট ফাংশন লিখতে হবে যা প্রথম এবং একমাত্র যুক্তি হিসাবে একটি সংখ্যা, সংখ্যা নেয়

আমাদের ফাংশন দুটি জিনিস করা উচিত

  • প্রথমত, এটি পরীক্ষা করা উচিত যে সংখ্যাটি 10 ​​এর সাথে প্রাইম কিনা, যদি এটি না হয় তবে আমাদের -1 দিতে হবে (একটি সংখ্যা অন্য যেকোনো সংখ্যার সাথে প্রাইম হয় যদি তাদের একমাত্র সাধারণ গুণনীয়কটি 1 হয়)।
  • যদি সংখ্যাটি 10 ​​দিয়ে মৌলিক হয়, তাহলে আমাদের দশমিক অংশের দৈর্ঘ্য ফেরত দেওয়া উচিত যা নিজেই পুনরাবৃত্তি করে, যখন সেই সংখ্যাটি 1কে ভাগ করে।

উদাহরণস্বরূপ, যদি ফাংশনে ইনপুট হয় −

ইনপুট

const num = 123;

আউটপুট

const output = 5;

আউটপুট ব্যাখ্যা

কারণ 123 সংখ্যাটি নিশ্চিতভাবে 10 সহ প্রাইম

এবং যখন আমরা 1 কে 123 দ্বারা ভাগ করি, আমরা −

পাব
1 / 123 = 0.008130081300813…

এটি স্পষ্টভাবে দেখায় যে দশমিক অংশ 00813 অসীমভাবে পুনরাবৃত্তি হচ্ছে এবং এর দৈর্ঘ্য 5, তাই আমাদের আউটপুট 5।

উদাহরণ

নিম্নলিখিত কোড -

const num = 123;
const findRepeatingPart = (num = 1) => {
   if(num % 2 === 0 || num % 5 === 0){
      return -1;
   } else {
      let res = 10 % num, count = 1;
      while(res != 1){

         res = res * 10 % num;
         count++;
      };
      return count;
   }
};
console.log(findRepeatingPart(num));

আউটপুট

5

  1. জাভাস্ক্রিপ্টে একটি সংখ্যা ত্রিভুজাকার সংখ্যা কিনা তা খুঁজে বের করা

  2. জাভাস্ক্রিপ্টে শুধুমাত্র একটি সংখ্যার দশমিক অংশ পুনরুদ্ধার করা হচ্ছে

  3. জাভাস্ক্রিপ্টে সাধারণ সাবয়ারের সর্বাধিক দৈর্ঘ্য খোঁজা

  4. জাভাস্ক্রিপ্টে একটি নির্দিষ্ট দৈর্ঘ্যের সাবয়ারের সর্বোচ্চ গড়