มีการแสดงออกของพหุนามโมดูโลดีเป็น 7 ด้านที่สามได้รับทั้งสองฝ่ายและข
3 ( ก3b - a b3)พอควร7
หรือแยกตัวประกอบ
3 a b ( a2- ข2)พอควร7
modulo 7 จะจับคู่กับส่วนที่เหลือใน {0,1,2,3,4,5,6}
ฉันอธิบายว่าทำไมมันถึงได้ผลในคำตอบ Math SEนี้ แต่ฉันคิดว่าอาจมีข้อโต้แย้งที่สะอาดกว่าที่ฉันคิดถึง พหุนามแบบสองเทอมอื่น ๆ ที่ใช้ได้คือ
( 3 ก5ข5-3ข )พอควร7
ซึ่งฉันพบในตอนแรกด้วยการแปลงบิต bashingของฉันเป็นการดำเนินการทางคณิตศาสตร์จากนั้นทำการค้นหาแบบ brute-force เพื่อค้นหาชื่อพหุนามในแบบฟอร์มนี้เพื่อหาสิ่งที่ดีกว่า
โปรดเพิ่มพอร์ตของสิ่งนี้เป็นภาษาที่คุณชื่นชอบ; นี่คือโพสต์ CW
J, 9 โดย Synthetica
7|3***+*-
ดูโพสต์ของฉัน
Dyalog APL, 9 โดย ngn (แก้ไขโดยAdám)
7|3×××+×-
ขโมยโจ๋งครึ่มจากคำตอบ J ข้างต้น
TI-Basic, 14 โดย Timtech
7fPart((A³B-AB³)/21
Pyth, 16 โดย FryAmTheEggman
M%*3-*H^G3*^H3G7
กำหนดฟังก์ชั่นg
ของสองค่า
Golfscript, 18 โดย Peter Taylor (พหุนามเก่า)
~1$*.5?3*@.*@*- 7%
CJam, 18 โดย Martin Büttner (ถ่ายจาก GolfScript ของปีเตอร์) (พหุนามเก่า)
l~1$*_5#3*@_*@*m7%
Mathematica, 20 โดย Martin Büttner
Mod[+##(#-#2)3##,7]&
ใช่นั่นคือข้อดีและไม่ไม่มีวิธีที่สั้นกว่าที่ไม่ใช้เครื่องหมายบวก
dc, 21 โดย Toby Speight
sb7+d3^lb*rlb3^*-3*7%
ฉันต้องเพิ่ม 7 ลงไปa
เพื่อให้แน่ใจว่าความแตกต่างเป็นค่าบวกเสมอ (dc มีตัว%
ดำเนินการที่ลงชื่อ)
Julia, 24 23 โดย Martin Büttner
f(a,b)=3a*b*(a^2-b^2)%7
CoffeeScript, 28 26 โดย rink.attendant.6
x=(a,b)->3*a*b*(a*a-b*b)%7
JavaScript (ES6), 28 26 โดย rink.attendant.6
x=(a,b)=>3*a*b*(a*a-b*b)%7
เป็นหลักเช่นเดียวกับ CoffeeScript
Python 28 โดย xnor
lambda a,b:3*a*b*(a*a-b*b)%7
Bash, 31
ไม่มีอะไรพิเศษ:
echo $[3*($1**3*$2-$1*$2**3)%7]
หรืออีกทางหนึ่ง:
echo $[3*$1*$2*($1*$1-$2*$2)%7]
อีกวิธีหนึ่ง
Nim, 36 โดย Sillesta
proc(x,y:int):int=3*x*y*(x*x-y*y)%%7
Java 7, 46 44 โดย rink.attendant.6
int f(int a,int b){return(a*a-b*b)*a*b*3%7;}
Java 8, 25 23 โดย Kevin Cruijssen
a->b->(a*a-b*b)*a*b*3%7
PHP, 49 47 โดย rink.attendant.6
function x($a,$b){echo($a*$a-$b*$b)*3*$a*$b%7;}
รุ่นที่ 52 ลุง
set/aa=(3*(%1*%1*%1*%2-%1*%2*%2*%2)%%7+7)%%7
echo %a%
CMD ไม่สนับสนุนโมดูลัสที่แท้จริงโดยกำเนิด (จึงไม่สามารถจัดการกับตัวเลขติดลบ) - %%7+7)%%7
เพราะฉะนั้น
น้อย (เป็นตัวแปรมิกซ์อิน ) 62 60 โดย rink.attendant 6
.x(@a,@b){@r:mod(3*@a*@b*(@a*@a-@b*@b),7);content:~"'@{r}'"}
ฉันในการโพสต์ด้านล่าง
05AB1E, 10 8 โดย Emigna (-2 bytes โดย Kevin Cruijssen)
nÆs`3P7%
ลองออนไลน์
Haskell, 31 27 25 โดยชื่อที่แสดงทั่วไป
a#b=3*a*b*(a*a-b*b)`mod`7
ลองออนไลน์!
Excel, 27 โดย Wernisch
=MOD(3*(A1^3*B1-A1*B1^3),7)
Excel VBA, 25 โดย Taylor Scott
?3*[A1^3*B1-A1*B1^3]Mod 7
ออกมา (gforth) 41 โดยคำสั่ง
: f 2>r 2r@ * 2r@ + 2r> - 3 * * * 7 mod ;
ลองออนไลน์!
C #, 23 โดย Kevin Cruijssen
a=>b=>(a*a-b*b)*a*b*3%7