এই নিবন্ধে, আমরা নীচে দেওয়া সমস্যার বিবৃতিটির সমাধান সম্পর্কে শিখব −
সমস্যা বিবৃতি − দুটি সংখ্যা N এবং K দেওয়া, আমাদের সমস্যা হল N থেকে একটি সংখ্যা K কে বিয়োগ করা যতক্ষণ না সংখ্যা(N) শূন্য(0) এর থেকে বড় হয়, একবার N ঋণাত্মক বা শূন্য হয়ে গেলে আমরা K যোগ করতে শুরু করি যতক্ষণ না সেই সংখ্যাটি হয়ে যায়। আসল সংখ্যা(N)।
উদাহরণস্বরূপ,
N =10K =4আউটপুট হবে:10 6 2 -2 2 6 10
অ্যালগরিদম
<পূর্ব>1. আমরা ফাংশনটিকে বারবার কল করি যতক্ষণ না N শূন্যের চেয়ে বেশি হয় (প্রতিটি ফাংশন কলে আমরা N থেকে K বিয়োগ করি ).2। সংখ্যাটি ঋণাত্মক বা শূন্য হয়ে গেলে আমরা প্রতিটি ফাংশন কলে K যোগ করতে শুরু করি যতক্ষণ না সংখ্যাটি আসল সংখ্যা হয়ে যায়।3। এখানে আমরা যোগ এবং বিয়োগের উদ্দেশ্যে একটি একক ফাংশন ব্যবহার করেছি কিন্তু যোগ বা বিয়োগ ফাংশনের মধ্যে পরিবর্তন করতে আমরা একটি বুলিয়ান টাইপ ভেরিয়েবল ফ্ল্যাগ ব্যবহার করেছি৷এখন পাইথনে বাস্তবায়ন পর্যবেক্ষণ করা যাক
উদাহরণ
def PrintNumber(N, Original, K, flag):#print সংখ্যা প্রিন্ট(N, end ="") #if সংখ্যা নেতিবাচক হয়ে যায় যদি (N <=0):if(flag==0):পতাকা =1 অন্য:পতাকা =0 যদি (N ==আসল এবং (নট (পতাকা))):ফেরত # যদি পতাকা সত্য হয় যদি (পতাকা ==সত্য):PrintNumber(N - K, Original, K, পতাকা) যদি (নট(পতাকা)):PrintNumber(N + K, Original, K, পতাকা); returnN =10K =4PrintNumber(N, N, K, True)
আউটপুট
10 6 2 -2 2 6 10
এখানে সমস্ত ভেরিয়েবল গ্লোবাল নেমস্পেসে ঘোষণা করা হয়েছে যেমন নীচের ছবিতে দেখানো হয়েছে −
উপসংহার
এই নিবন্ধে, আমরা পাইথন 3.x-এ কোনো ধরনের লুপিং কনস্ট্রাক্ট ব্যবহার না করে একটি সংখ্যা সিরিজ প্রিন্ট করার পরিভাষা সম্পর্কে শিখেছি। অথবা আগে।