मान लीजिए कि हमारे पास एक लंबा पूर्णांक है। हमें यह पता लगाना है कि विषम स्थिति अंकों के योग और सम स्थिति अंकों के योग के बीच का अंतर 0 है या नहीं। पोजीशन 0 से शुरू होती हैं (सबसे बाएं)।
उदाहरण के लिए, मान लीजिए कि कोई संख्या 156486 है। विषम स्थिति योग (5 + 4 + 6) =15 है, और सम स्थिति योग (1 + 6 + 8) =15 है, इसलिए वे समान हैं।
इस समस्या को हल करने के लिए, हम दो अलग-अलग तरीकों का उपयोग कर सकते हैं। पहला तरीका है ट्रैवर्सिंग फॉर्म शुरू से अंत तक और स्थिति को बारी-बारी से योग प्राप्त करें, फिर अंतर प्राप्त करें। अगली विधि सरल और कुशल है। यदि संख्या 11 से विभाज्य है, तो अंतर 0 होना चाहिए। तो दूसरे शब्दों में हम कह सकते हैं कि यदि विषम स्थिति संख्याओं का योग और सम स्थिति संख्याओं का योग समान है, तो संख्या 11 से विभाज्य है।
एल्गोरिदम
isDiffZero(n)
begin if n is divisible by 11, then return 1 else return 0 end if end
उदाहरण
#include<stdio.h> long isDiffZero(int n) { if(n % 11 == 0){ return 1; } else { return 0; } } main() { int n; printf("Enter a number: "); scanf("%d", &n); if(isDiffZero(n)) { printf("Difference is zero"); } else { printf("Difference is non zero"); } }
आउटपुट
Enter a number: 156486 Difference is zero