প্রাসঙ্গিক লিঙ্কগুলি এখানে এবং এখানে , তবে এখানে সংক্ষিপ্ত সংস্করণটি রয়েছে:
আপনার কাছে দুটি পূর্ণসংখ্যার ইনপুট রয়েছে aএবং bনেতিবাচক অনন্ত এবং অনন্তের মধ্যে (যদিও প্রয়োজনে আমি ব্যাপ্তিটি সীমাবদ্ধ করতে পারি তবে ফাংশনটি এখনও অবশ্যই নেতিবাচক ইনপুট গ্রহণ করতে পারে)।
ক্রোনেকার প্রতীক সংজ্ঞা
(a|b)ইনপুট aএবং bকোথায় আপনাকে ক্রোনেকার প্রতীকটি ফিরে আসতে হবে
(a|b) = (a|p_1)^e_1 * (a|p_2)^e_2 * ... * (a|p_n)^e_n
যেখানে b = p_1^e_1 * p_2^e_2 * ... * p_n^e_nএবং p_iএবং e_iএর প্রধান ফ্যাক্টরীকরণের মধ্যে প্রাইমস এবং এক্সপোজারগুলি b।
একটি বিজোড় প্রাইম জন্য p, এখানে(a|p)=a^((p-1)/2) (mod p) সংজ্ঞায়িত ।
জন্য b == 2,(n|2)={0 for n even; 1 for n odd, n=+/-1 (mod 8); -1 for n odd, n=+/-3 (mod 8)
জন্য b == -1,(n|-1)={-1 for n<0; 1 for n>0
যদি a >= b, (a|b) == (z|b)কোথায় z == a % b। এই সম্পত্তি দ্বারা, এবং হিসাবে ব্যাখ্যা এখানে এবং এখানে , aএকটি দ্বিঘাত অবশিষ্টাংশ হয় bযদি zহয়, যদিও a >= b।
(-1|b)= 1যদি b == 0,1,2 (mod 4)এবং -1যদি b == 3 (mod 4)। (0|b)হয় 0ছাড়া (0|1)যা 1, কারণ (a|1)সর্বদা 1এবং ঋণাত্মক জন্য a, (-a|b) == (-1|b) * (a|b)।
ক্রোনেকার প্রতীকের আউটপুট সর্বদা থাকে -1, 0 or 1, যেখানে আউটপুট 0থাকে aএবং bযদি কোনও সাধারণ কারণ থাকে। তাহলে b, একটি বিজোড় মৌলিক (a|b) == 1যদি aএকটি হয় দ্বিঘাত অবশিষ্টাংশ গেলিক ভাষার b, আর -1যদি এটি একটি দ্বিঘাত অবশিষ্টাংশ নয়।
বিধি
আপনার কোড অবশ্যই একটি প্রোগ্রাম বা একটি ফাংশন হতে হবে।
ইনপুটগুলি অবশ্যই ক্রমে থাকা উচিত
a b।আউটপুট অবশ্যই হয়
-1,0বা1।এটি কোড গল্ফ, সুতরাং আপনার কোডটি দক্ষ হতে হবে না, কেবল সংক্ষেপে।
এমন কোনও বিল্ট-ইন নেই যা ক্রোনেকার বা সম্পর্কিত জ্যাকোবি এবং লেজেন্ড্রে প্রতীকগুলি সরাসরি গণনা করে। অন্যান্য বিল্ট-ইনগুলি (উদাহরণস্বরূপ প্রাইম ফ্যাক্টরীকরণের জন্য) নিখরচায় খেলা।
উদাহরণ
>>> kronecker(1, 5)
1
>>> kronecker(3, 8)
-1
>>> kronecker(15, 22)
1
>>> kronecker(21, 7)
0
>>> kronecker(5, 31)
1
>>> kronecker(31, 5)
1
>>> kronecker(7, 19)
1
>>> kronecker(19, 7)
-1
>>> kronecker(323, 455625)
1
>>> kronecker(0, 12)
0
>>> kronecker(0, 1)
1
>>> kronecker(12, 0)
0
>>> kronecker(1, 0)
1
>>> kronecker(-1, 5)
1
>>> kronecker(1, -5)
1
>>> kronecker(-1, -5)
-1
>>> kronecker(6, 7)
-1
>>> kronecker(-1, -7)
1
>>> kronecker(-6, -7)
-1
এটি একটি জটিল ফাংশন, সুতরাং দয়া করে কিছু অস্পষ্ট কিনা তা আমাকে জানান।


