यहां हम ओसिरिस नंबर देखेंगे। एक ओसिरिस नंबर एक ऐसा नंबर है जो अपने स्वयं के अंकों के उप-नमूनों के क्रमचय के योग के बराबर होता है। मान लीजिए नंबर 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