यहाँ रूसी से हिंदी में अनुवादित प्रोग्रामिंग कार्य का पाठ दिया गया है: एक अभाज्य संख्या के मॉड्यूलो के अनुसार द्विघातीय अवशेष
Rust
Medium
math
कार्य «यहाँ रूसी से हिंदी में अनुवादित प्रोग्रामिंग कार्य का पाठ दिया गया है: एक अभाज्य संख्या के मॉड्यूलो के अनुसार द्विघातीय अवशेष»
एक अभाज्य संख्या p (p > 2) और एक पूर्णांक a (0 ≤ a < p) दिया गया है। यह निर्धारित करना आवश्यक है कि क्या a, मापांक p के सापेक्ष एक द्विघात अवशेष है, अर्थात क्या कोई ऐसा पूर्णांक x मौजूद है कि x^2 ≡ a (mod p) हो। यदि a एक द्विघात अवशेष है, तो कोई भी ऐसा x (0 ≤ x < p) आउटपुट करें। यदि नहीं, तो -1 आउटपुट करें। लीजेंड्रे प्रतीक और टोनेली-शैंक्स एल्गोरिदम या सीमाओं को ध्यान में रखते हुए ब्रूट-फोर्स का उपयोग करें।
इनपुट प्रारूप
पहली पंक्ति में दो पूर्णांक हैं: p (अभाज्य, 3 ≤ p ≤ 10^9) और a (0 ≤ a < p)।
आउटपुट प्रारूप
एक पूर्णांक आउटपुट करें: x (0 ≤ x < p) ऐसा कि x^2 ≡ a (mod p), या -1 यदि कोई हल नहीं है।
उदाहरण
उदाहरण 1
इनपुट
7 2
आउटपुट
4
उदाहरण 2
इनपुट
7
apple
banana
apple
cherry
banana
apple
date
आउटपुट
-1
उदाहरण 3
इनपुट
7 3
आउटपुट
-1
उदाहरण 4
इनपुट
4
aa
a
aaa
a
आउटपुट
-1
उदाहरण 5
इनपुट
13 4
आउटपुट
11
main.rs