এই কঠিন কাজটি সহজ করার জন্য আমাদের পরিচিত একটা অপারেটর আছে। মডুলাস (%) অপারেটর।
এবার দেখি কিভাবে কাজটি করবোঃ
কোন সংখ্যাকে ১০ দিয়ে মড করলে তার সর্বশেষ অংকটি পাওয়া যায়।
প্রথমে 2017 কে 10 দিয়ে মড করলামঃ 2017 % 10 = 7
এই 7 কে প্রিন্ট করে দিলাম।
তারপর 2017 কে 10 দিয়ে ভাগ করলামঃ 2017/10 = 201
আবার 201 কে 10 দিয়ে মড করলামঃ 201 % 10 = 1
এই 1 কে প্রিন্ট করে দিলাম।
তারপর 201 কে 10 দিয়ে ভাগ করলামঃ 201/10 = 20
আবার 20 কে 10 দিয়ে মড করলামঃ 20 % 10 = 0
এই 0 কে প্রিন্ট করে দিলাম।
তারপর 20 কে 10 দিয়ে ভাগ করলামঃ 20/10 = 2
আবার 2 কে 10 দিয়ে মড করলামঃ 2 % 10 = 2
এই 2 কে প্রিন্ট করে দিলাম।
যদি আমরা কোন নিউ লাইন অথবা স্পেস ছাড়া প্রিন্ট করি তাহলেই আউটপুট টা পেয়ে যাবো।
প্রোগ্রামঃ
#include<stdio.h>
int main()
{
int num = 2017,mod;
mod = num%10;
printf("%d",mod);
num = num/10;
mod = num%10;
printf("%d",mod);
num = num/10;
mod = num%10;
printf("%d",mod);
num = num/10;
mod = num%10;
printf("%d",mod);
return 0;
}
তোমার জন্য কাজঃ উপরের প্রোগ্রামটি লুপ ব্যবহার করে করো।
তুমি এখনই নিচের অংশ না পড়ে লুপ দিয়ে প্রোগ্রামটা করার চেস্টা করো, যদি কমপক্ষে পাঁচ বার চেষ্টা করার পর না পারো, তাহলে নিচের অংশ পড়।
লক্ষ্য করে দেখো আমরা num কে 10 দিয়ে ভাগ করার কাজ টি ঠিক ততক্ষণ পর্যন্ত করে গেছি যতক্ষণ না num এর মান 0 না হয়েছে।
প্রোগ্রামঃ
#include<stdio.h>
int main()
{
int num = 2017,mod;
while(num>0)
{
mod = num%10;
printf("%d",mod);
num = num/10;
}
return 0;
}
এবার তোমাকে বলা হলো 2017 কে উলটো করে সেটা একটা ভেরিয়েবলে রাখতে হবে। এখন তো আর একটা একটা করে প্রিন্ট করে দিলে খেল খতম হবে না। আমাদের যা করতে হবে , একটা ই ভেরিয়েবল এ 7102 রাখতে হবে। তারপর প্রিন্ট করতে বলা হলে প্রিন্ট করবো যোগ করতে বলা হলে যোগ করবো, যা করতে বলা হয় প্রোগ্রামে তা করবো। কিন্তু আগে তো উলটো করে একটা ভেরিয়েবলে রাখতে হবে।
এবার চলো দেখে নেই কিভাবে কাজটি করা যায়।
আবার 2017 এ চলে যাই,
আমরা 2017 কে 10 দিয়ে মড করলাম, 2017 % 10 = 7
এই 7 কে আমরা rev নামক ভেরিয়েবলে রাখলাম।
rev = 7.
তারপর, 2017 কে 10 দিয়ে ভাগ করলাম।
2017/10 = 201
তারপর আগের মতো 201 কে 10 দিয়ে মড করলাম।
201%10 = 1
এতক্ষণ যা করলাম সব আগের মতো , এখন ব্যপারটা বোঝতে চেষ্টা করো।
আমরা rev এ 7 কে রেখেছিলাম।
এবার rev কে ১০ দিয়ে গুণ করে তার সাথে 1 যোগ করে দিবো।
মানে দাঁড়ালোঃ (rev*10) + 1 = (7*10)+1 = 70+1 =71.
এরপর আবার আগের প্রসেসে ফিরে যাই।
তারপর, 201 কে 10 দিয়ে ভাগ করলাম।
201/10 = 20
তারপর 20 কে 10 দিয়ে মড করলাম।
20%10 = 0
এবার rev কে ১০ দিয়ে গুণ করে তার সাথে 0 যোগ করে দিবো।
মানে দাঁড়ালোঃ (rev*10) + 0 = (71*10)+0 = 710+0 =710.
তারপর, 20 কে 10 দিয়ে ভাগ করলাম।
20/10 = 2
তারপর 2 কে 10 দিয়ে মড করলাম।
2%10 = 2
এবার rev কে ১০ দিয়ে গুণ করে তার সাথে 2 যোগ করে দিবো।
মানে দাঁড়ালোঃ (rev*10) + 2 = (710*10)+2 = 7100+2 =7102.
ব্যাস আমরা পেয়ে গেলাম আমাদের কাংখিত ফলাফল।
প্রোগ্রামটা নিজে লেখার চেষ্টা করো।
0 comments:
Post a Comment