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

প্রথম Nটি প্রাকৃতিক সংখ্যা যেগুলো X বা Y দিয়ে বিভাজ্য, তাদের যোগফল


১ থেকে n পর্যন্ত প্রাকৃতিক সংখ্যাগুলোর মধ্যে যেগুলো X বা Y দিয়ে বিভাজ্য, তাদের যোগফল বের করার দুটি পদ্ধতি রয়েছে:

  • লুপ এবং কন্ডিশনাল স্টেটমেন্ট ব্যবহার করে
  • গাণিতিক সূত্র ব্যবহার করে

পদ্ধতি ১: লুপ ও কন্ডিশনাল

#include <stdio.h>
int main(void) {
    int n = 54, x = 2, y = 5;
    int sum = 0;
    for (int i = 0; i <= n; i++) {
        if (i % x == 0 || i % y == 0)
            sum = sum + i;
    }
    printf("sum of %d natural numbers divisible by %d and %d is %d", n, x, y, sum);
    return 0;
}

আউটপুট

sum of 54 natural numbers divisible by 2 and 5 is 881

পদ্ধতি ২: সূত্র ব্যবহার করে

n সংখ্যা পর্যন্ত x দিয়ে বিভাজ্য সংখ্যাগুলোর যোগফল: Sn/x = ((n/x)/2) × (2x + (n/x - 1) × x)

একইভাবে y এবং x×y-এর জন্য। তারপর Sx + Sy - Sxy করলে আসল যোগফল পাওয়া যায়।

#include <stdio.h>
int main() {
    int n = 54, x = 2, y = 5;
    int Sx, Sy, Sxy, sum;
    Sx = ((n / x)) * (2 * x + (n / x - 1) * x) / 2;
    Sy = ((n / y)) * (2 * y + (n / y - 1) * y) / 2;
    Sxy = ((n / (x * y))) * (2 * (x * y) + (n / (x * y) - 1) * (x * y)) / 2;
    sum = Sx + Sy - Sxy;
    printf("sum of %d natural numbers divisible by %d and %d is %d", n, x, y, sum);
    return 0;
}

আউটপুট

sum of 54 natural numbers divisible by 2 and 5 is 881

দ্বিতীয় পদ্ধতিটি লুপ ছাড়া কাজ করে তাই টাইম কমপ্লেক্সিটি ভালো। কিন্তু ছোট ইনপুটের জন্য প্রথম পদ্ধতিও ব্যবহার করা যায়।


  1. C প্রোগ্রাম: প্রথম n প্রাকৃতিক সংখ্যার ঘনফলের যোগফল

  2. C++-এ প্রথম n প্রাকৃতিক সংখ্যার বর্গের যোগফল (Sum of Squares)

  3. পাইথনে প্রথম N প্রাকৃতিক সংখ্যার গুণফল তাদের যোগফলে বিভাজ্য কিনা তা যাচাই করা

  4. পাইথনে প্রথম n প্রাকৃতিক সংখ্যার বর্গের যোগফল