यहां हम ओसिरिस नंबर देखेंगे। एक ओसिरिस संख्या एक ऐसी संख्या है जो अपने स्वयं के अंकों के उप-नमूनों के क्रमपरिवर्तन के योग के बराबर होती है। मान लीजिए संख्या 132 है। फिर यदि हम {12 + 21 + 13 + 31 + 23 + 32} की गणना करें तो यह भी 132 है। तो संख्या ओसिरिस संख्या है। हमें यह जांचना है कि दी गई संख्या ओसिरिस संख्या है या नहीं।
दृष्टिकोण सरल है। यदि हम संख्याओं का विश्लेषण करें, तो प्रत्येक अंक दो बार आ रहा है इसलिए वे इकाई की स्थिति और दहाई की स्थिति में हैं। इसलिए हम उनके साथ 11 को गुणा करके जांच सकते हैं।
एल्गोरिदम
isOsirisNumber(n) -
Begin a := last digit b := second digit c := first digit digit_sum := a + b + c if n = (22 * digit_sum), then return true end if return false End
उदाहरण
#include using namespace std; bool isOsirisNumber(int n) { int a = n % 10; int b = (n / 10) % 10; int c = n / 100; int sum = a + b + c; if (n == (22 * sum)) { return true; } return false; } int main() { int n = 132; if (isOsirisNumber(n)) cout << "This is Osiris number"; else cout << "This is Not Osiris number"; }
आउटपुट
This is Osiris number