A ve b iki tarafına verilen üçüncü taraf için güzel bir polinom ifade modulo 7 var .
3(a3b−ab3)mod7
veya faktörlü
3ab(a2−b2)mod7
Modulo 7, {0,1,2,3,4,5,6} 'da bir geri kalanı eşler.
Neden bu Matematik SE cevabında işe yaradığını açıklıyorum , ancak muhtemelen eksik olan daha temiz bir argüman olduğunu düşünüyorum. Çalışan tek diğer iki dönem polinomudur.
(3a5b5−a3b)mod7
başlangıçta bit bodrumumu aritmetik işlemlere dönüştürerek bulduğumda, daha güzel olanı bulmak için bu formdaki polinomlar üzerinde kaba bir kuvvet araştırması yaptı.
Lütfen bu portları favori dilinize eklemek için çekinmeyin; bu bir CW yazısıdır.
J, 9 Synthetica tarafından
7|3***+*-
Benim Bkz yazı
Dyalog APL, 9 by ngn (yazım hatası)
7|3×××+×-
J cevabından açıkça çalındı.
Tim-Tech tarafından TI-Basic, 14
7fPart((A³B-AB³)/21
Pyth, 16 FryAmTheEggman tarafından
M%*3-*H^G3*^H3G7
g
İki değerin bir fonksiyonunu tanımlar .
Golfscript, 18 Peter Taylor tarafından (eski polinom)
~1$*.5?3*@.*@*- 7%
CJam, 18 Martin Büttner (Peter'in GolfScript portundan) (eski polinom)
l~1$*_5#3*@_*@*m7%
Mathematica, 20 Martin Büttner tarafından
Mod[+##(#-#2)3##,7]&
Evet, bu bir sıradan artı, ve hayır, sıradan bir artı kullanmayan daha kısa bir yol yok.
dc, 21 Toby Speight tarafından
sb7+d3^lb*rlb3^*-3*7%
a
Farkın daima pozitif olmasını sağlamak için 7 eklemeliyim (dc'nin imzalı bir %
operatörü var).
Julia, 24 23, Martin Büttner tarafından
f(a,b)=3a*b*(a^2-b^2)%7
CoffeeScript, 28 26 tarafından rink.attendant.6
x=(a,b)->3*a*b*(a*a-b*b)%7
JavaScript (ES6), 28 26 rink.attendant tarafından
x=(a,b)=>3*a*b*(a*a-b*b)%7
Esas olarak, CoffeeScript ile aynı.
Python 28, xnor tarafından
lambda a,b:3*a*b*(a*a-b*b)%7
Bash, 31
Özel birşey yok:
echo $[3*($1**3*$2-$1*$2**3)%7]
Veya alternatif olarak:
echo $[3*$1*$2*($1*$1-$2*$2)%7]
Başka (daha uzun ama belki de ilginç) bir yaklaşım .
Nim, 36 Sillesta tarafından
proc(x,y:int):int=3*x*y*(x*x-y*y)%%7
Java 7, 46 44 rink.attendant tarafından
int f(int a,int b){return(a*a-b*b)*a*b*3%7;}
Java 8, 25 23, Kevin Cruijssen tarafından
a->b->(a*a-b*b)*a*b*3%7
PHP, 49 47 ile rink.attendant.6
function x($a,$b){echo($a*$a-$b*$b)*3*$a*$b%7;}
Toplu, 52 unclemeat
set/aa=(3*(%1*%1*%1*%2-%1*%2*%2*%2)%%7+7)%%7
echo %a%
CMD doğal olarak gerçek modülü desteklemiyor (bu nedenle negatif sayıları kaldıramaz) - dolayısıyla %%7+7)%%7
.
LESS ( parametrik bir karışım olarak ), rinkatçı tarafından 62 60
.x(@a,@b){@r:mod(3*@a*@b*(@a*@a-@b*@b),7);content:~"'@{r}'"}
Benim Bkz aşağıda yazılan .
05AB1E, 10 8 Emigna tarafından (Kevin Cruijssen tarafından -2 bayt)
nÆs`3P7%
Çevrimiçi deneyin.
Haskell, 31 27 25 Genel Görünen Ad
a#b=3*a*b*(a*a-b*b)`mod`7
Çevrimiçi deneyin!
Excel, 27, Wernisch tarafından
=MOD(3*(A1^3*B1-A1*B1^3),7)
Excel VBA, 25 Taylor Scott tarafından
?3*[A1^3*B1-A1*B1^3]Mod 7
İleri (gforth) 41 reffu tarafından
: f 2>r 2r@ * 2r@ + 2r> - 3 * * * 7 mod ;
Çevrimiçi deneyin!
C #, 23 Kevin Cruijssen tarafından
a=>b=>(a*a-b*b)*a*b*3%7