কীভাবে একটি সংখ্যার প্রতিটি digit কতবার আছে তা গোনা যায়।
Array ব্যবহার করে প্রতিটি digit-এর frequency রাখা।
% এবং / অপারেটরের ব্যবহার।
while loop দিয়ে প্রতিটি digit আলাদা করে গুনা।
ধাপে ধাপে ব্যাখ্যা:
Step 1: ইউজার ইনপুট নেওয়া।
scanf() → একটি সংখ্যা ইনপুট নিতে হবে।
Step 2: প্রতিটি digit বের করা।
C
digit = num %10;
Step 3: frequency array-তে count বাড়ানো।
C
freq[digit]++;
Step 4: / 10 দিয়ে সংখ্যাকে ছোট করা।
C
num = num /10;
উদাহরণ:
C
#include<stdio.h>intmain(){int num, digit;intfreq[10]={0};// 0 থেকে 9 পর্যন্ত ১০টি ঘরprintf("একটি সংখ্যা লিখুন: ");scanf("%d",&num);while(num !=0){ digit = num %10;freq[digit]++; num = num /10;}printf("প্রতিটি digit এর frequency:\n");for(int i =0; i <10; i++){if(freq[i]>0){printf("Digit %d = %d বার\n", i,freq[i]);}}return0;}
আউটপুট উদাহরণ:
উদাহরণ ১:
C
ইনপুট:একটি সংখ্যা লিখুন: 12024451আউটপুট:প্রতিটি digit এর frequency:Digit 0=1 বার Digit 1=2 বার Digit 2=2 বার Digit 4=2 বার Digit 5=1 বার
উদাহরণ ২:
C
ইনপুট:একটি সংখ্যা লিখুন: 99999আউটপুট:প্রতিটি digit এর frequency:Digit 9=5 বার
ব্যাখ্যা:
freq[10] → একটি অ্যারে যেখানে প্রতিটি digit (0–9) এর জন্য জায়গা রাখা হয়েছে।
প্রতিবার % 10 দিয়ে digit বের করে সেই index-এ ১ করে বাড়ানো হয়।
num = num / 10; দিয়ে সংখ্যাটি ছোট করা হয়।
শেষে for লুপ দিয়ে ০ থেকে ৯ পর্যন্ত গিয়েই যে digit কয়বার আছে, তা প্রিন্ট করা হয়।