কম্পিউটার

জাভাতে Nth কুৎসিত সংখ্যা খুঁজুন


একটি সংখ্যা যার মৌলিক গুণনীয়ক হয় 2, 3 বা 5 তাকে একটি কুৎসিত সংখ্যা বলা হয়। কিছু কুৎসিত সংখ্যা হল:1, 2, 3, 4, 5, 6, 8, 10, 12, 15, ইত্যাদি৷

আমাদের একটি সংখ্যা N আছে এবং কাজ হল কুৎসিত সংখ্যার ক্রমানুসারে Nth কুৎসিত সংখ্যা খুঁজে বের করা।

উদাহরণস্বরূপ:

ইনপুট-1:

N = 5

আউটপুট:

5

ব্যাখ্যা:

কুৎসিত সংখ্যা [1, 2, 3, 4, 5, 6, 8, 10, 12, 15] এর ক্রমানুসারে 5তম কুৎসিত সংখ্যাটি হল 5৷

ইনপুট-2:

N = 7

আউটপুট:

8

ব্যাখ্যা:

কুৎসিত সংখ্যা [1, 2, 3, 4, 5, 6, 8, 10, 12, 15] এর ক্রমানুসারে 7 তম কুৎসিত সংখ্যা হল 8৷

এই সমস্যা সমাধানের পদ্ধতি

এই সমস্যাটি সমাধান করার একটি সহজ পদ্ধতি হল প্রদত্ত সংখ্যাটি 2 বা 3 বা 5 দ্বারা বিভাজ্য কিনা এবং প্রদত্ত সংখ্যা পর্যন্ত ক্রমটি ট্র্যাক করা। এখন সংখ্যাটি একটি কুৎসিত সংখ্যার সমস্ত শর্ত পূরণ করে কিনা তা সন্ধান করুন, তারপর সংখ্যাটিকে আউটপুট হিসাবে ফেরত দিন৷

  • Nth কুৎসিত সংখ্যা খুঁজে পেতে একটি N সংখ্যার ইনপুট নিন।
  • একটি বুলিয়ান ফাংশন isUgly(int n) ইনপুট হিসাবে একটি সংখ্যা 'n' নেয় এবং এটি একটি কুৎসিত সংখ্যা হলে True প্রদান করে, অন্যথায় False।
  • একটি পূর্ণসংখ্যা ফাংশন findNthUgly(int n) ইনপুট হিসাবে 'n' সংখ্যা নেয় এবং n ফেরত দেয় আউটপুট হিসাবে কুৎসিত সংখ্যা।

উদাহরণ

public class UglyN {
   public static boolean isUglyNumber(int num) {
      boolean x = true;
      while (num != 1) {
         if (num % 5 == 0) {
            num /= 5;
         }
         else if (num % 3 == 0) {
            num /= 3;
         }
         // To check if number is divisible by 2 or not
         else if (num % 2 == 0) {
            num /= 2;
         }
         else {
            x = false;
            break;
         }
      }
      return x;
   }
   public static int nthUglyNumber(int n) {
      int i = 1;
      int count = 1;
      while (n > count) {
         i++;
         if (isUglyNumber(i)) {
            count++;
         }
      }
      return i;
   }
   public static void main(String[] args) {
      int number = 100;
      int no = nthUglyNumber(number);
      System.out.println("The Ugly no. at position " + number + " is " + no);
   }
}

আউটপুট

The Ugly no. at position 100 is 1536.

  1. একটি সমান্তরালগ্রামের ক্ষেত্রফল খুঁজে বের করতে জাভা প্রোগ্রাম

  2. একটি বৃত্তের পরিধি খুঁজে পেতে জাভা প্রোগ্রাম

  3. জাভা প্রোগ্রাম একটি ট্রাপিজিয়াম এর এলাকা খুঁজে বের করতে

  4. একটি আয়তক্ষেত্রের পরিধি খুঁজে পেতে জাভা প্রোগ্রাম