আমাদের N আকারের একটি অ্যারে দেওয়া হয়েছে৷ অ্যারেতে প্রাথমিকভাবে সমস্ত 0 রয়েছে৷ কাজ হল সংখ্যা গণনা করা। N সরানোর পর অ্যারের মধ্যে 1 এর। প্রতিটি Nth পদক্ষেপ সম্পর্কিত একটি নিয়ম আছে। নিয়ম হল −
-
1ম চাল − 1, 2, 3, 4 অবস্থানে উপাদান পরিবর্তন করুন…………..
-
2য় চাল − 2, 4, 6, 8 অবস্থানে উপাদান পরিবর্তন করুন…………..
-
3য় চাল - 3, 6, 9, 12 অবস্থানে উপাদান পরিবর্তন করুন…………..
শেষ অ্যারেতে 1 এর সংখ্যা গণনা করুন।
উদাহরণ দিয়ে বোঝা যাক।
ইনপুট৷
Arr[]={ 0,0,0,0 } N=4
আউটপুট৷
N চলে যাওয়ার পর অ্যারেতে 1s সংখ্যা − 2
ব্যাখ্যা − অনুসরণ করার পর অ্যারে −
<প্রে> সরান 1:{ 1,1,1,1 } সরান 2:{ 1,0,1,0 } সরান 3:{ 1,0,0,3 } সরান 4:{ 1,0,0,1 }চূড়ান্ত অ্যারের সংখ্যা হল 2৷৷ইনপুট৷
Arr[]={ 0,0,0,0,0,0} N=6
আউটপুট৷
N চলে যাওয়ার পর অ্যারেতে 1s সংখ্যা − 2
ব্যাখ্যা − অনুসরণ করার পর অ্যারে −
সরান 1:{ 1,1,1,1,1,1,1 } সরান 2:{ 1,0,1,0,1,0,1 } সরান 3:{ 1,0,0,1 ,0,0,1 }সরান 4:{ 1,0,0,0,1,0,0 } সরান 5:{ 1,0,0,0,0,1,0 } সরান 4:{ 1,0 ,0,0,0,0,1 }চূড়ান্ত অ্যারের সংখ্যা হল 2৷
নিচের প্রোগ্রামে ব্যবহৃত পদ্ধতিটি নিম্নরূপ
-
আমরা একটি পূর্ণসংখ্যা অ্যারে নিই Arr[] এবং পূর্ণসংখ্যা N দিয়ে আরম্ভ করা হয়েছে।
-
Onecount ফাংশন Arr[] নেয় এবং ইনপুট হিসাবে এটির আকার N হয় এবং নং প্রদান করে। N সরানোর পরে চূড়ান্ত অ্যারেতে থাকা।
-
ফর লুপ 1 থেকে অ্যারের শেষ পর্যন্ত শুরু হয়।
-
প্রতিটি i ith মুভ প্রতিনিধিত্ব করে।
-
লুপের জন্য নেস্টেড 0ম সূচক থেকে শুরু হয় অ্যারের শেষ পর্যন্ত৷
-
প্রতিটি ith মুভের জন্য, যদি সূচক j i (j%i==0) এর একাধিক হয়, তাহলে সেই অবস্থানে 1 দিয়ে 0 প্রতিস্থাপন করুন।
-
এই প্রক্রিয়াটি প্রতিটি i-এর জন্য অ্যারের শেষ পর্যন্ত চলতে থাকে।
-
দ্রষ্টব্য − সূচক i=1,j=1 থেকে শুরু হয় কিন্তু অ্যারে সূচক 0 থেকে N-1 পর্যন্ত হয়। এই কারণে প্রতিবার arr[j1] রূপান্তরিত হয়।
-
পরিশেষে আবার পুরো অ্যারে অতিক্রম করুন এবং সংখ্যা গণনা করুন। এর মধ্যে 1 এর মধ্যে এবং কাউন্টে স্টোর করুন।
- প্রত্যাশিত ফলাফল হিসাবে গণনা করুন।
উদাহরণ
#includeint Onecount(int arr[], int N){ (int i =1; i <=N; i++) { এর জন্য (int j =i; j <=N; j++) ) { // j যদি i দ্বারা বিভাজ্য হয় যদি (j % i ==0) { if (arr[j - 1] ==0) arr[j - 1] =1; // রূপান্তর 0 থেকে 1 অন্য arr[j - 1] =0; // রূপান্তর 1 থেকে 0 } } int কাউন্ট =0; জন্য (int i =0; i আউটপুট
যদি আমরা উপরের কোডটি চালাই তবে এটি নিম্নলিখিত আউটপুট −
উৎপন্ন করবেN সরানোর পরে অ্যারেতে 1s সংখ্যা:2