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

জাভা প্রোগ্রাম: দুটি ইন্টারভালের মধ্যে আর্মস্ট্রং নাম্বার বের করা (ইনলাইন)

দুটি ইন্টারভালের মধ্যে আর্মস্ট্রং নাম্বার

এই প্রোগ্রামে ফাংশন ব্যবহার না করে সরাসরি মেইন মেথডে লজিক লিখে দুটি সংখ্যার মাঝপথের আর্মস্ট্রং নাম্বার বের করা হয়েছে।

ইনপুট ও আউটপুট উদাহরণ

ইনপুট:

1 & 500

আউটপুট:

The Armstrong numbers between 1 and 500 are 1, 153, 370, 371, 407

অ্যালগরিদম

  1. প্রোগ্রাম শুরু করুন
  2. চারটি ইন্টিজার ঘোষণা করুন: my_low, my_high, i, sum, check, my_rem
  3. ব্যবহারকারী থেকে লোয়ার এবং আপার বাউন্ড ইনপুট নিন
  4. ফর লুপে my_low থেকে my_high-1 পর্যন্ত ইটারেট করুন
  5. প্রতিটি i-এর জন্য: sum=0, check=i সেট করুন
  6. হোয়াইল লুপে check != 0 পর্যন্ত অঙ্কের ঘনফল যোগ করুন
  7. যদি sum == i হয়, তবে প্রিন্ট করুন
  8. প্রোগ্রাম শেষ করুন

উদাহরণ ১: ব্যবহারকারী ইনপুট নেওয়া

import java.util.Scanner;

public class ArmstrongNumbers {
    public static void main(String args[]) {
        int my_low, my_high, check, my_rem, my_sum, i;
        Scanner my_scanner = new Scanner(System.in);
        System.out.println("Required packages have been imported");
        System.out.println("A scanner object has been defined");
        System.out.println("Enter the first number :");
        my_low = my_scanner.nextInt();
        System.out.println("Enter the limit :");
        my_high = my_scanner.nextInt();
        System.out.println("The Armstrong numbers are :");
        
        for (i = my_low; i < my_high; i++) {
            my_sum = 0;
            check = i;
            while (check != 0) {
                my_rem = check % 10;
                my_sum = my_sum + (my_rem * my_rem * my_rem);
                check = check / 10;
            }
            if (my_sum == i) {
                System.out.println(i);
            }
        }
    }
}

উদাহরণ ২: পূর্বনির্ধারিত মান ব্যবহার

public class ArmstrongNumbers {
    public static void main(String args[]) {
        int my_low = 1, my_high = 500, check, my_rem, my_sum, i;
        System.out.printf("The first number is %d and the limit is %d ", my_low, my_high);
        System.out.println("\nThe Armstrong numbers are :");
        
        for (i = my_low; i < my_high; i++) {
            my_sum = 0;
            check = i;
            while (check != 0) {
                my_rem = check % 10;
                my_sum = my_sum + (my_rem * my_rem * my_rem);
                check = check / 10;
            }
            if (my_sum == i) {
                System.out.println(i);
            }
        }
    }
}

পূর্বের আর্টিকেল (ID: 1006093129) থেকে পার্থক্য

সেরা অনুশীলন: ফাংশন বেজড পদ্ধতি (আর্টিকেল ১২৯)

// রিকমেন্ডেড: ফাংশন এক্সট্রাক্ট করুন
public static boolean isArmstrong(int num) {
    int original = num, sum = 0;
    while (num > 0) {
        int digit = num % 10;
        sum += digit * digit * digit; // Math.pow() ছাড়া
        num /= 10;
    }
    return sum == original;
}

// মেইন মেথডে
for (int i = low; i < high; i++) {
    if (isArmstrong(i)) System.out.print(i + " ");
}

অপ্টিমাইজেশন টিপস

  • পরি-কম্পিউট কিউব: int[] cubes = {0,1,8,27,64,125,216,343,512,729};
  • অর্লি এক্সিট: যদি sum > i হয়, লুপ ব্রেক করুন
  • স্ট্রিং এড়ান: Math.pow() এবং String কনভার্সন ধীর

জাভা ৮+ Stream API

IntStream.rangeClosed(low, high - 1)
    .filter(Main::isArmstrong)
    .forEach(System.out::println);

এজ কেস: ০ এবং ১

০ এবং ১ আর্মস্ট্রং নাম্বার (0³=0, 1³=1)। লুপ my_low থেকে শুরু হলে ০ ও ১ ইনক্লুড হবে।

  1. জাভা প্রোগ্রাম: ইনপুট নম্বরটি নिऑন নম্বর কিনা যাচাই

  2. জাভা প্রোগ্রাম: দুটি পূর্ণসংখ্যার মাঝপথে আর্মস্ট্রং নম্বর খুঁজে বের করা

  3. দেওয়া সংখ্যাটি ফিবোনাচি কিনা চেক করার জাভা প্রোগ্রাম

  4. পাইথনে আর্মস্ট্রอง নম্বর চেক করা

কপিরাইট © https://bd.wsxdn.com সমস্ত অধিকার সংরক্ষিত
দিকআর্টিকেল ১২৯ (Function-based)আর্টিকেল ১৩১ (Inline)
কোড স্ট্রাকচারIsArmstrong() ফাংশন আলাদামেইন মেথডে ইনলাইন
পুনরাবৃত্তিউচ্চ (ফাংশন কল)নিম্ন (কোড ডুপ্লিকেশন)
পাঠযোগ্যতাউচ্চনিম্ন
মেইনটেন্যান্সসহজকঠিন
পারফরম্যান্সসমান (JIT ইনলাইন করে)সমান