Có một biểu thức đa thức đẹp modulo 7 cho bên thứ ba cho hai cạnh a và b .
3 ( một3b - a b3)phép chia lấy phần dư7
hoặc bao thanh toán
3 a b ( a2- b2)phép chia lấy phần dư7
Bản đồ modulo 7 còn lại trong {0,1,2,3,4,5,6}.
Tôi giải thích lý do tại sao nó hoạt động trong câu trả lời Math SE này , mặc dù tôi nghĩ có lẽ có một đối số rõ ràng hơn mà tôi đang thiếu. Đa thức hai kỳ khác chỉ hoạt động là
( 3 a5b5- một3b )phép chia lấy phần dư7
mà ban đầu tôi đã tìm thấy bằng cách chuyển đổi bit bashing của mình thành các phép toán số học, sau đó thực hiện tìm kiếm vũ phu trên các đa thức của dạng này để tìm ra phép toán đẹp hơn.
Xin vui lòng thêm các cổng này vào ngôn ngữ yêu thích của bạn; đây là một bài viết CW.
J, 9 bởi Synthetica
7|3***+*-
Xem bài viết của tôi
Dyalog APL, 9 by ngn (lỗi đánh máy bởi Adám)
7|3×××+×-
Bị đánh cắp trắng trợn từ phía trên câu trả lời J.
TI-Basic, 14 bởi Timtech
7fPart((A³B-AB³)/21
Pyth, 16 bởi FryAmTheEggman
M%*3-*H^G3*^H3G7
Xác định hàm g
của hai giá trị.
Golfscript, 18 của Peter Taylor (đa thức cũ)
~1$*.5?3*@.*@*- 7%
CJam, 18 của Martin Büttner (được chuyển từ Peter's GolfScript) (đa thức cũ)
l~1$*_5#3*@_*@*m7%
Mathicala, 20 của Martin Büttner
Mod[+##(#-#2)3##,7]&
Vâng, đó là một phép cộng đơn phương, và không, không có cách nào ngắn hơn mà không sử dụng một phép cộng đơn phương.
dc, 21 bởi Toby Speight
sb7+d3^lb*rlb3^*-3*7%
Tôi phải thêm 7 để a
đảm bảo chênh lệch luôn dương (dc có %
toán tử đã ký ).
Julia, 24 23 bởi Martin Büttner
f(a,b)=3a*b*(a^2-b^2)%7
CoffeeScript, 28 26 bởi rink.attguard.6
x=(a,b)->3*a*b*(a*a-b*b)%7
JavaScript (ES6), 28 26 bởi rink.attguard.6
x=(a,b)=>3*a*b*(a*a-b*b)%7
Về cơ bản giống như CoffeeScript.
Python 28, bởi xnor
lambda a,b:3*a*b*(a*a-b*b)%7
Bash, 31
Không có gì đặc biệt:
echo $[3*($1**3*$2-$1*$2**3)%7]
Hay cách khác:
echo $[3*$1*$2*($1*$1-$2*$2)%7]
Một cách tiếp cận khác (dài hơn nhưng có lẽ thú vị) .
Nim, 36 bởi Sillesta
proc(x,y:int):int=3*x*y*(x*x-y*y)%%7
Java 7, 46 44 bởi rink.attguard.6
int f(int a,int b){return(a*a-b*b)*a*b*3%7;}
Java 8, 25 23 của Kevin Cruijssen
a->b->(a*a-b*b)*a*b*3%7
PHP, 49 47 bởi rink.attguard.6
function x($a,$b){echo($a*$a-$b*$b)*3*$a*$b%7;}
Mẻ, 52 chưa mở
set/aa=(3*(%1*%1*%1*%2-%1*%2*%2*%2)%%7+7)%%7
echo %a%
CMD không hỗ trợ mô đun thực sự nguyên bản (vì vậy không thể xử lý số âm) - do đó %%7+7)%%7
.
LESS (dưới dạng mixin tham số ), 62 60 bởi rink.attguard.6
.x(@a,@b){@r:mod(3*@a*@b*(@a*@a-@b*@b),7);content:~"'@{r}'"}
Xem bài viết của tôi dưới đây .
05AB1E, 10 8 bởi Emigna (-2 byte bởi Kevin Cruijssen)
nÆs`3P7%
Hãy thử trực tuyến.
Haskell, 31 27 25 theo Tên hiển thị chung
a#b=3*a*b*(a*a-b*b)`mod`7
Hãy thử trực tuyến!
Excel, 27 bởi Wernisch
=MOD(3*(A1^3*B1-A1*B1^3),7)
VBA Excel, 25 của Taylor Scott
?3*[A1^3*B1-A1*B1^3]Mod 7
Forth (gforth) 41 bởi reffu
: f 2>r 2r@ * 2r@ + 2r> - 3 * * * 7 mod ;
Hãy thử trực tuyến!
C #, 23 của Kevin Cruijssen
a=>b=>(a*a-b*b)*a*b*3%7