समस्या विवरण
सबसे पहले हम एक सूची बनाते हैं, शुरुआती पता का इंडेक्स 0 है और पहले तीसरे तत्व की स्थिति 2 है और सूची खाली होने तक पार करना है और हर बार हमें अगले तीसरे तत्व का इंडेक्स ढूंढना है और मान प्रिंट करना है और उसके बाद सूची की लंबाई कम करना है।
उदाहरण
A: [10,20,30,40]
आउटपुट: 30 20 40 10
व्याख्या
पहला तीसरा तत्व 30 है, फिर हम अगले तीसरे तत्व 20 के लिए 40 से गिनती करते हैं, फिर फिर से अगले तीसरे तत्व 40 के लिए 40 से शुरू करते हैं और अंत में 10 प्रिंट होता है।
एल्गोरिदम
- सूची का इंडेक्स 0 से शुरू होता है और पहला तीसरा तत्व स्थिति 2 पर होगा। वेरिएबल p=2, शुरुआती इंडेक्स id=0।
- सूची की लंबाई ढूंढें: listlen = len(LST)
- सूची खाली होने तक पार करें और हर बार अगले तीसरे तत्व का इंडेक्स ढूंढें:
While(listlen > 0) Id = (p + id) % listlen A = LST.pop(id) // आवश्यक तत्व को हटाता और प्रिंट करता है Listlen -= 1 End while
उदाहरण कोड
# सूची खाली होने तक हर तीसरे तत्व को हटाने के लिए
def removenumber(no):
# सूची 0 इंडेक्स से शुरू होती है
p = 3 - 1
id = 0
lenoflist = len(no)
# सूची खाली होने तक लूप चलाएं
while lenoflist > 0:
id = (p + id) % lenoflist
# आवश्यक तत्व को हटाता और प्रिंट करता है
print(no.pop(id))
lenoflist -= 1
# ड्राइवर कोड
A = list()
n = int(input("सरणी का आकार दर्ज करें ::"))
print("पूर्णांक संख्या दर्ज करें")
for i in range(int(n)):
p = int(input("n="))
A.append(int(p))
print("तीसरे तत्व को हटाने के बाद, सूची है")
removenumber(A) # फंक्शन कॉल
आउटपुट
सरणी का आकार दर्ज करें ::9
संख्या दर्ज करें n=10 n=20 n=30 n=40 n=50 n=60 n=70 n=80 n=90
तीसरे तत्व को हटाने के बाद, सूची है
30 60 90 40 80 50 20 70 10