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

সি প্রোগ্রামিং-এ শুধু ০ এবং ১ ডিজিট वाले সংখ্যাগুলোর যোগফল N করা


একটি ইন্টিজার n দেওয়া থাকলে, শুধু ০ এবং ১ ডিজিট দিয়ে গঠিত যেসব সংখ্যার যোগফল n হবে, সেগুলো প্রিন্ট করতে হবে।

যেসব সংখ্যা শুধু ০ এবং ১ দিয়ে গঠিত: ১, ১০, ১১, ১০০, ১০১, ১১০, ১১১...

উদাহরণ

Input: 31
Output: 10 10 10 1

অ্যালগরিদম

int findNumbers(int n)
START
STEP 1: DECLARE m = n % 10, a = n
STEP 2: WHILE a > 0
    IF a/10 > 0 AND a > 20 THEN
        a = a - 10; PRINT "10 "
    ELSE IF a - 11 == 0 THEN
        a = a - 11; PRINT "11 "
    ELSE
        PRINT "1 "; a--
    END IF
END LOOP
STOP

সি প্রোগ্রাম

#include <stdio.h>

int findNumbers(int n) {
    int m = n % 10, a = n;
    while (a > 0) {
        if (a / 10 > 0 && a > 20) {
            a = a - 10;
            printf("10 ");
        } else if (a - 11 == 0) {
            a = a - 11;
            printf("11 ");
        } else {
            printf("1 ");
            a--;
        }
    }
}

int main() {
    int N = 35;
    findNumbers(N);
    return 0;
}

আউটপুট

10 10 1 1 1 1 11

  1. দুটি পূর্ণসংখ্যা ও দুটি ফ্লোটিং পয়েন্ট সংখ্যার যোগফল বের করার C প্রোগ্রাম

  2. স্ট্রিংয়ের পয়েন্টার অ্যারে এবং তাদের অ্যাড্রেস প্রিন্ট করার C প্রোগ্রাম

  3. সি প্রোগ্রামিং-এ অ্যারে থেকে সর্বোচ্চ AND ভ্যালু 가진 জোড়া (Pair) বের করা

  4. C প্রোগ্রামে ২-ডি ম্যাট্রিক্সের কর্ণার উপাদান ও তাদের যোগফল বের করা