একটা
ধনাত্বক
পূর্ণসংখ্যা m কে
আরেকটা
পূর্ণসংখ্যা n এর
একটা মসৃণ
ভাজক বলা হবে
যদি n কে m দিয়ে
ভাগ করলে যে
ভাগফল আর
ভাগশেষ পাওয়া
যাবে তারা
সমান হয়। n এর
মান দেওয়া
হবে। তার
মসৃণ ভাজক এর
সংখ্যা
দেখাতে হবে।
ইনপুট
একটা
ধনাত্বক
পূর্ণসংখ্যা n (1 ≤ n ≤ 106)।
আউটপুট
মসৃণ
ভাজকের
সংখ্যা।
উদাহরণ
ইনপুট
20
আউটপুট
2
প্রাথমিক
সমস্যা – গাণিতিক,
সংখ্যাতত্ব
অ্যালগোরিদম
পর্যালোচনা
যেহেতু
n এর
মান বেশি বড়
নয়, তাই
আমরা m এর
সম্ভাব্য সব
মান নিয়ে
দেখতে পারি
সেটা মসৃণ
ভাজক কিনা (2 ≤ m ≤ n)। মসৃণ
ভাজক হবে
তখনই যখন
এই সমীকরণটা
সত্য হবে । বামপাশে
ভাগফল এবং
ডানপাশে
ভাগশেষ
বোঝাচ্ছে। যে যে
মানের জন্যে
সমীকরণটা
সত্য, তাদের
সংখ্যা গণনা
করি।
উদাহরণ
n = 20 এর
জন্যে ঠিক
দুটো মসৃণ
ভাজক পাওয়া
জাবে:
9 আর 19, কেননা 20 / 9 = 20 mod 9 = 2 আর 20 / 19 = 20 mod 19 = 1.
অ্যালগোরিদম
বাস্তবায়ন
ইনপুট
নম্বর n নেওয়া
হয়েছে। res হল সেই সব m এর সংখ্যা
যেখানে n কে m দিয়ে
ভাগ করলে যে
ভাগফল আর
ভাগশেষ পাওয়া
যাবে তারা
সমান হয়।
res = 0;
scanf("%d",&n);
for(m = 2; m <= n; m++)
if ((n / m) == (n % m)) res++;
res
দেখাই।
printf("%d\n",res);