সমস্যা
দুই দেয়া সংখ্যার গ্রেটেস্ট কমন ডিভাইজার (GCD) নন-রিকার্সিভ ফাংশন ব্যবহার করে বের করুন।
সমাধান
নন-রিকার্সিভ ফাংশন ব্যবহার করে দুটি সংখ্যার GCD বের করার পদ্ধতি নিচে ব্যাখ্যা করা হল:
অ্যালগরিদম
নন-রিকার্সিভ ফাংশন ব্যবহার করে GCD বের করার অ্যালগরিদম:
Step 1 − Start
Step 2 − ইন্টিজার a এবং b পড়ুন
Step 3 − ফাংশন G=GCD(a,b) কল করুন step 6
Step 4 − G ভ্যালু প্রিন্ট করুন
Step 5 − Stop
Step 6 − কলড ফাংশন: GCD(a,b)
a. Initialize the i=1, j, remainder b. Remainder=i-(i/j*j) c. Remainder=0 return j else goto step 4 d. GCD(G,remainder) return to main program
ফ্লো চার্ট
নন-রিকার্সিভ ফাংশন ব্যবহার করে GCD বের করার অ্যালগরিদমের ফ্লো চার্ট:

উদাহরণ
নন-রিকার্সিভ ফাংশন ব্যবহার করে দুটি সংখ্যার GCD বের করার সি প্রোগ্রাম:
#include<stdio.h> #include<conio.h> #include<math.h> int gcdnonR(int i,int j){ int rem; rem=i-(i/j*j); if(rem==0) return j; else gcdnonR(j,rem); } void main(){ int a,b; printf("enter the two numbers:"); scanf("%d%d",&a,&b); printf("GCD of %d",gcdnonR(a,b)); getch(); }
আউটপুট
enter the two numbers:10 30 GCD of 10