2025年5月2日金曜日

250502

Ruby


An identity motivated by an amazing identity of Ramanujan

James Mc Laughlin氏が得た結果を確認してみた。

# a(n) = 99*a(n-1) - 99*a(n-2) + a(n-3)
def A(n, a, b, c)
  ary = [a, b, c]
  (3..n).each{|i| ary << 99*ary[-1] - 99*ary[-2] + ary[-3]}
  ary
end

n = 10

# A261004
a_ary = A(n, -3, -461, -45343)
# A269548
b_ary = A(n, -1, -233, -22961)
# A269549
c_ary = A(n,  1, -199, -19799)
# A269550
d_ary = A(n,  7,  465,  45347)
# A269551
e_ary = A(n,  5,  237,  22965)
# A269552
f_ary = A(n,  3,  203,  19803)
# A269553
p_ary = A(n, -3, -435, -42763)
# A269554
q_ary = A(n, -1, -343, -33861)
# A269555
r_ary = A(n,  7,  439,  42767)
# A269556
s_ary = A(n,  5,  347,  33865)
# A010701
t_ary = [3] * (n + 1)

a = [
  a_ary,
  b_ary,
  c_ary,
  d_ary,
  e_ary,
  f_ary,
  p_ary,
  q_ary,
  r_ary,
  s_ary,
  t_ary
]

(0..n).each{|i|
  (1..5).each{|j|
    ary = (0..10).map{|k| a[k][i]}

    terms = ary.each_with_index.map{|x, idx|
      display = x < 0 ? "(#{x})^#{j}" : "#{x}^#{j}"
      operator = idx == 0 ? "" : (idx < 6 ? " + " : " - ")
      operator + display
    }
    expression = terms.join

    # 実際の数値計算
    sum = ary.each_with_index.map{|x, idx| idx < 6 ? x ** j : -x ** j}.sum

    puts "#{expression} = #{sum}"
  }
  p ""
}

出力結果
(-3)^1 + (-1)^1 + 1^1 + 7^1 + 5^1 + 3^1 - (-3)^1 - (-1)^1 - 7^1 - 5^1 - 3^1 = 1
(-3)^2 + (-1)^2 + 1^2 + 7^2 + 5^2 + 3^2 - (-3)^2 - (-1)^2 - 7^2 - 5^2 - 3^2 = 1
(-3)^3 + (-1)^3 + 1^3 + 7^3 + 5^3 + 3^3 - (-3)^3 - (-1)^3 - 7^3 - 5^3 - 3^3 = 1
(-3)^4 + (-1)^4 + 1^4 + 7^4 + 5^4 + 3^4 - (-3)^4 - (-1)^4 - 7^4 - 5^4 - 3^4 = 1
(-3)^5 + (-1)^5 + 1^5 + 7^5 + 5^5 + 3^5 - (-3)^5 - (-1)^5 - 7^5 - 5^5 - 3^5 = 1
""
(-461)^1 + (-233)^1 + (-199)^1 + 465^1 + 237^1 + 203^1 - (-435)^1 - (-343)^1 - 439^1 - 347^1 - 3^1 = 1
(-461)^2 + (-233)^2 + (-199)^2 + 465^2 + 237^2 + 203^2 - (-435)^2 - (-343)^2 - 439^2 - 347^2 - 3^2 = 1
(-461)^3 + (-233)^3 + (-199)^3 + 465^3 + 237^3 + 203^3 - (-435)^3 - (-343)^3 - 439^3 - 347^3 - 3^3 = 1
(-461)^4 + (-233)^4 + (-199)^4 + 465^4 + 237^4 + 203^4 - (-435)^4 - (-343)^4 - 439^4 - 347^4 - 3^4 = 1
(-461)^5 + (-233)^5 + (-199)^5 + 465^5 + 237^5 + 203^5 - (-435)^5 - (-343)^5 - 439^5 - 347^5 - 3^5 = 1
""
(-45343)^1 + (-22961)^1 + (-19799)^1 + 45347^1 + 22965^1 + 19803^1 - (-42763)^1 - (-33861)^1 - 42767^1 - 33865^1 - 3^1 = 1
(-45343)^2 + (-22961)^2 + (-19799)^2 + 45347^2 + 22965^2 + 19803^2 - (-42763)^2 - (-33861)^2 - 42767^2 - 33865^2 - 3^2 = 1
(-45343)^3 + (-22961)^3 + (-19799)^3 + 45347^3 + 22965^3 + 19803^3 - (-42763)^3 - (-33861)^3 - 42767^3 - 33865^3 - 3^3 = 1
(-45343)^4 + (-22961)^4 + (-19799)^4 + 45347^4 + 22965^4 + 19803^4 - (-42763)^4 - (-33861)^4 - 42767^4 - 33865^4 - 3^4 = 1
(-45343)^5 + (-22961)^5 + (-19799)^5 + 45347^5 + 22965^5 + 19803^5 - (-42763)^5 - (-33861)^5 - 42767^5 - 33865^5 - 3^5 = 1
""
(-4443321)^1 + (-2250073)^1 + (-1940399)^1 + 4443325^1 + 2250077^1 + 1940403^1 - (-4190475)^1 - (-3318283)^1 - 4190479^1 - 3318287^1 - 3^1 = 1
(-4443321)^2 + (-2250073)^2 + (-1940399)^2 + 4443325^2 + 2250077^2 + 1940403^2 - (-4190475)^2 - (-3318283)^2 - 4190479^2 - 3318287^2 - 3^2 = 1
(-4443321)^3 + (-2250073)^3 + (-1940399)^3 + 4443325^3 + 2250077^3 + 1940403^3 - (-4190475)^3 - (-3318283)^3 - 4190479^3 - 3318287^3 - 3^3 = 1
(-4443321)^4 + (-2250073)^4 + (-1940399)^4 + 4443325^4 + 2250077^4 + 1940403^4 - (-4190475)^4 - (-3318283)^4 - 4190479^4 - 3318287^4 - 3^4 = 1
(-4443321)^5 + (-2250073)^5 + (-1940399)^5 + 4443325^5 + 2250077^5 + 1940403^5 - (-4190475)^5 - (-3318283)^5 - 4190479^5 - 3318287^5 - 3^5 = 1
""
(-435400283)^1 + (-220484321)^1 + (-190139599)^1 + 435400287^1 + 220484325^1 + 190139603^1 - (-410623923)^1 - (-325158121)^1 - 410623927^1 - 325158125^1 - 3^1 = 1
(-435400283)^2 + (-220484321)^2 + (-190139599)^2 + 435400287^2 + 220484325^2 + 190139603^2 - (-410623923)^2 - (-325158121)^2 - 410623927^2 - 325158125^2 - 3^2 = 1
(-435400283)^3 + (-220484321)^3 + (-190139599)^3 + 435400287^3 + 220484325^3 + 190139603^3 - (-410623923)^3 - (-325158121)^3 - 410623927^3 - 325158125^3 - 3^3 = 1
(-435400283)^4 + (-220484321)^4 + (-190139599)^4 + 435400287^4 + 220484325^4 + 190139603^4 - (-410623923)^4 - (-325158121)^4 - 410623927^4 - 325158125^4 - 3^4 = 1
(-435400283)^5 + (-220484321)^5 + (-190139599)^5 + 435400287^5 + 220484325^5 + 190139603^5 - (-410623923)^5 - (-325158121)^5 - 410623927^5 - 325158125^5 - 3^5 = 1
""
(-42664784581)^1 + (-21605213513)^1 + (-18631740599)^1 + 42664784585^1 + 21605213517^1 + 18631740603^1 - (-40236954115)^1 - (-31862177823)^1 - 40236954119^1 - 31862177827^1 - 3^1 = 1
(-42664784581)^2 + (-21605213513)^2 + (-18631740599)^2 + 42664784585^2 + 21605213517^2 + 18631740603^2 - (-40236954115)^2 - (-31862177823)^2 - 40236954119^2 - 31862177827^2 - 3^2 = 1
(-42664784581)^3 + (-21605213513)^3 + (-18631740599)^3 + 42664784585^3 + 21605213517^3 + 18631740603^3 - (-40236954115)^3 - (-31862177823)^3 - 40236954119^3 - 31862177827^3 - 3^3 = 1
(-42664784581)^4 + (-21605213513)^4 + (-18631740599)^4 + 42664784585^4 + 21605213517^4 + 18631740603^4 - (-40236954115)^4 - (-31862177823)^4 - 40236954119^4 - 31862177827^4 - 3^4 = 1
(-42664784581)^5 + (-21605213513)^5 + (-18631740599)^5 + 42664784585^5 + 21605213517^5 + 18631740603^5 - (-40236954115)^5 - (-31862177823)^5 - 40236954119^5 - 31862177827^5 - 3^5 = 1
""
(-4180713488823)^1 + (-2117090440081)^1 + (-1825720439399)^1 + 4180713488827^1 + 2117090440085^1 + 1825720439403^1 - (-3942810879483)^1 - (-3122168268781)^1 - 3942810879487^1 - 3122168268785^1 - 3^1 = 1
(-4180713488823)^2 + (-2117090440081)^2 + (-1825720439399)^2 + 4180713488827^2 + 2117090440085^2 + 1825720439403^2 - (-3942810879483)^2 - (-3122168268781)^2 - 3942810879487^2 - 3122168268785^2 - 3^2 = 1
(-4180713488823)^3 + (-2117090440081)^3 + (-1825720439399)^3 + 4180713488827^3 + 2117090440085^3 + 1825720439403^3 - (-3942810879483)^3 - (-3122168268781)^3 - 3942810879487^3 - 3122168268785^3 - 3^3 = 1
(-4180713488823)^4 + (-2117090440081)^4 + (-1825720439399)^4 + 4180713488827^4 + 2117090440085^4 + 1825720439403^4 - (-3942810879483)^4 - (-3122168268781)^4 - 3942810879487^4 - 3122168268785^4 - 3^4 = 1
(-4180713488823)^5 + (-2117090440081)^5 + (-1825720439399)^5 + 4180713488827^5 + 2117090440085^5 + 1825720439403^5 - (-3942810879483)^5 - (-3122168268781)^5 - 3942810879487^5 - 3122168268785^5 - 3^5 = 1
""
(-409667257120241)^1 + (-207453257914553)^1 + (-178901971320799)^1 + 409667257120245^1 + 207453257914557^1 + 178901971320803^1 - (-386355229235355)^1 - (-305940628162963)^1 - 386355229235359^1 - 305940628162967^1 - 3^1 = 1
(-409667257120241)^2 + (-207453257914553)^2 + (-178901971320799)^2 + 409667257120245^2 + 207453257914557^2 + 178901971320803^2 - (-386355229235355)^2 - (-305940628162963)^2 - 386355229235359^2 - 305940628162967^2 - 3^2 = 1
(-409667257120241)^3 + (-207453257914553)^3 + (-178901971320799)^3 + 409667257120245^3 + 207453257914557^3 + 178901971320803^3 - (-386355229235355)^3 - (-305940628162963)^3 - 386355229235359^3 - 305940628162967^3 - 3^3 = 1
(-409667257120241)^4 + (-207453257914553)^4 + (-178901971320799)^4 + 409667257120245^4 + 207453257914557^4 + 178901971320803^4 - (-386355229235355)^4 - (-305940628162963)^4 - 386355229235359^4 - 305940628162967^4 - 3^4 = 1
(-409667257120241)^5 + (-207453257914553)^5 + (-178901971320799)^5 + 409667257120245^5 + 207453257914557^5 + 178901971320803^5 - (-386355229235355)^5 - (-305940628162963)^5 - 386355229235359^5 - 305940628162967^5 - 3^5 = 1
""
(-40143210484294963)^1 + (-20328302185186241)^1 + (-17530567468999199)^1 + 40143210484294967^1 + 20328302185186245^1 + 17530567468999203^1 - (-37858869654185443)^1 - (-29979059391701841)^1 - 37858869654185447^1 - 29979059391701845^1 - 3^1 = 1
(-40143210484294963)^2 + (-20328302185186241)^2 + (-17530567468999199)^2 + 40143210484294967^2 + 20328302185186245^2 + 17530567468999203^2 - (-37858869654185443)^2 - (-29979059391701841)^2 - 37858869654185447^2 - 29979059391701845^2 - 3^2 = 1
(-40143210484294963)^3 + (-20328302185186241)^3 + (-17530567468999199)^3 + 40143210484294967^3 + 20328302185186245^3 + 17530567468999203^3 - (-37858869654185443)^3 - (-29979059391701841)^3 - 37858869654185447^3 - 29979059391701845^3 - 3^3 = 1
(-40143210484294963)^4 + (-20328302185186241)^4 + (-17530567468999199)^4 + 40143210484294967^4 + 20328302185186245^4 + 17530567468999203^4 - (-37858869654185443)^4 - (-29979059391701841)^4 - 37858869654185447^4 - 29979059391701845^4 - 3^4 = 1
(-40143210484294963)^5 + (-20328302185186241)^5 + (-17530567468999199)^5 + 40143210484294967^5 + 20328302185186245^5 + 17530567468999203^5 - (-37858869654185443)^5 - (-29979059391701841)^5 - 37858869654185447^5 - 29979059391701845^5 - 3^5 = 1
""
(-3933624960203786301)^1 + (-1991966160890337193)^1 + (-1717816709990600999)^1 + 3933624960203786305^1 + 1991966160890337197^1 + 1717816709990601003^1 - (-3709782870880938195)^1 - (-2937641879758617703)^1 - 3709782870880938199^1 - 2937641879758617707^1 - 3^1 = 1
(-3933624960203786301)^2 + (-1991966160890337193)^2 + (-1717816709990600999)^2 + 3933624960203786305^2 + 1991966160890337197^2 + 1717816709990601003^2 - (-3709782870880938195)^2 - (-2937641879758617703)^2 - 3709782870880938199^2 - 2937641879758617707^2 - 3^2 = 1
(-3933624960203786301)^3 + (-1991966160890337193)^3 + (-1717816709990600999)^3 + 3933624960203786305^3 + 1991966160890337197^3 + 1717816709990601003^3 - (-3709782870880938195)^3 - (-2937641879758617703)^3 - 3709782870880938199^3 - 2937641879758617707^3 - 3^3 = 1
(-3933624960203786301)^4 + (-1991966160890337193)^4 + (-1717816709990600999)^4 + 3933624960203786305^4 + 1991966160890337197^4 + 1717816709990601003^4 - (-3709782870880938195)^4 - (-2937641879758617703)^4 - 3709782870880938199^4 - 2937641879758617707^4 - 3^4 = 1
(-3933624960203786301)^5 + (-1991966160890337193)^5 + (-1717816709990600999)^5 + 3933624960203786305^5 + 1991966160890337197^5 + 1717816709990601003^5 - (-3709782870880938195)^5 - (-2937641879758617703)^5 - 3709782870880938199^5 - 2937641879758617707^5 - 3^5 = 1
""
(-385455102889486762703)^1 + (-195192355465067858801)^1 + (-168328507011609898999)^1 + 385455102889486762707^1 + 195192355465067858805^1 + 168328507011609899003^1 - (-363520862476677757803)^1 - (-287858925156952833301)^1 - 363520862476677757807^1 - 287858925156952833305^1 - 3^1 = 1
(-385455102889486762703)^2 + (-195192355465067858801)^2 + (-168328507011609898999)^2 + 385455102889486762707^2 + 195192355465067858805^2 + 168328507011609899003^2 - (-363520862476677757803)^2 - (-287858925156952833301)^2 - 363520862476677757807^2 - 287858925156952833305^2 - 3^2 = 1
(-385455102889486762703)^3 + (-195192355465067858801)^3 + (-168328507011609898999)^3 + 385455102889486762707^3 + 195192355465067858805^3 + 168328507011609899003^3 - (-363520862476677757803)^3 - (-287858925156952833301)^3 - 363520862476677757807^3 - 287858925156952833305^3 - 3^3 = 1
(-385455102889486762703)^4 + (-195192355465067858801)^4 + (-168328507011609898999)^4 + 385455102889486762707^4 + 195192355465067858805^4 + 168328507011609899003^4 - (-363520862476677757803)^4 - (-287858925156952833301)^4 - 363520862476677757807^4 - 287858925156952833305^4 - 3^4 = 1
(-385455102889486762703)^5 + (-195192355465067858801)^5 + (-168328507011609898999)^5 + 385455102889486762707^5 + 195192355465067858805^5 + 168328507011609899003^5 - (-363520862476677757803)^5 - (-287858925156952833301)^5 - 363520862476677757807^5 - 287858925156952833305^5 - 3^5 = 1
""

2025年4月28日月曜日

250428

PARI


A074143等

A(1,k) = 1; A(n,k) = k + n * Sum_{j=1..n-1} A(j,k)
A(n,k) = (n+2) * a(n-1, k) - (n-1) * a(n-2, k) for n > 3
を満たすことを確認してみた。

M=20;
N=10;

b(n, k) = if(n==1, 1, k+n*sum(j=1, n-1, b(j, k)));
a(n, k) = if(n<4, b(n, k), (n+2)*a(n-1, k)-(n-1)*a(n-2, k));

\\ aとbの値が一致するかどうかを確認
for(k=-5, 5, for(n=1, M, if(a(n, k)!=b(n, k), print([n, k]))));
for(k=-5, 5, print1(k,": "); for(n=1, N, print1(a(n, k),", ")); print);

出力結果
-5: 1, -3, -11, -57, -355, -2555, -20865, -190765, -1931495, -21461055, 
-4: 1, -2, -7, -36, -224, -1612, -13164, -120356, -1218604, -13540044, 
-3: 1, -1, -3, -15, -93, -669, -5463, -49947, -505713, -5619033, 
-2: 1, 0, 1, 6, 38, 274, 2238, 20462, 207178, 2301978, 
-1: 1, 1, 5, 27, 169, 1217, 9939, 90871, 920069, 10222989, 
0: 1, 2, 9, 48, 300, 2160, 17640, 161280, 1632960, 18144000, 
1: 1, 3, 13, 69, 431, 3103, 25341, 231689, 2345851, 26065011, 
2: 1, 4, 17, 90, 562, 4046, 33042, 302098, 3058742, 33986022, 
3: 1, 5, 21, 111, 693, 4989, 40743, 372507, 3771633, 41907033, 
4: 1, 6, 25, 132, 824, 5932, 48444, 442916, 4484524, 49828044, 
5: 1, 7, 29, 153, 955, 6875, 56145, 513325, 5197415, 57749055, 

2025年3月23日日曜日

250323

PARI


Fuss–Catalan number

f_k(x) = Sum_{j>=0} binomial(k*j+1, n)/(k*j+1) * x^j
がf_k(x) = 1 + x*f_k(x)^k を満たすことを確認してみた。

N=10;
K=10;

a(n, k) = binomial(k*n+1, n)/(k*n+1);
b(n, k) = my(x='x+O('x^(n+1))); sum(j=0, n, a(j, k)*x^j);
for(k=0, K, f = b(N, k); if(f==1+x*f^k, print([k, Vec(f)])));

出力結果
[0, [1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0]]
[1, [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]]
[2, [1, 1, 2, 5, 14, 42, 132, 429, 1430, 4862, 16796]]
[3, [1, 1, 3, 12, 55, 273, 1428, 7752, 43263, 246675, 1430715]]
[4, [1, 1, 4, 22, 140, 969, 7084, 53820, 420732, 3362260, 27343888]]
[5, [1, 1, 5, 35, 285, 2530, 23751, 231880, 2330445, 23950355, 250543370]]
[6, [1, 1, 6, 51, 506, 5481, 62832, 749398, 9203634, 115607310, 1478314266]]
[7, [1, 1, 7, 70, 819, 10472, 141778, 1997688, 28989675, 430321633, 6503352856]]
[8, [1, 1, 8, 92, 1240, 18278, 285384, 4638348, 77652024, 1329890705, 23190029720]]
[9, [1, 1, 9, 117, 1785, 29799, 527085, 9706503, 184138713, 3573805950, 70625252863]]
[10, [1, 1, 10, 145, 2470, 46060, 910252, 18730855, 397089550, 8612835715, 190223180840]]

2025年2月25日火曜日

250225

PARI


A059297, A185951 and A136630

最近よく使っている係数を出力してみた。

N=10;

a059297(n, k) = my(x='x+O('x^(n+1)), t='t+O('t^(k+1))); n!*polcoef(polcoef(exp(t*x* exp(x)), n), k);
a185951(n, k) = my(x='x+O('x^(n+1)), t='t+O('t^(k+1))); n!*polcoef(polcoef(exp(t*x*cosh(x)), n), k);
a136630(n, k) = my(x='x+O('x^(n+1)), t='t+O('t^(k+1))); n!*polcoef(polcoef(exp(t  *sinh(x)), n), k);

for(n=0, N, for(k=0, n, print1(a059297(n, k),", ")); print)
for(n=0, N, for(k=0, n, print1(a185951(n, k),", ")); print)
for(n=0, N, for(k=0, n, print1(a136630(n, k),", ")); print)

出力結果
1, 
0, 1, 
0, 2, 1, 
0, 3, 6, 1, 
0, 4, 24, 12, 1, 
0, 5, 80, 90, 20, 1, 
0, 6, 240, 540, 240, 30, 1, 
0, 7, 672, 2835, 2240, 525, 42, 1, 
0, 8, 1792, 13608, 17920, 7000, 1008, 56, 1, 
0, 9, 4608, 61236, 129024, 78750, 18144, 1764, 72, 1, 
0, 10, 11520, 262440, 860160, 787500, 272160, 41160, 2880, 90, 1, 
1, 
0, 1, 
0, 0, 1, 
0, 3, 0, 1, 
0, 0, 12, 0, 1, 
0, 5, 0, 30, 0, 1, 
0, 0, 120, 0, 60, 0, 1, 
0, 7, 0, 735, 0, 105, 0, 1, 
0, 0, 896, 0, 2800, 0, 168, 0, 1, 
0, 9, 0, 15372, 0, 8190, 0, 252, 0, 1, 
0, 0, 5760, 0, 114240, 0, 20160, 0, 360, 0, 1, 
1, 
0, 1, 
0, 0, 1, 
0, 1, 0, 1, 
0, 0, 4, 0, 1, 
0, 1, 0, 10, 0, 1, 
0, 0, 16, 0, 20, 0, 1, 
0, 1, 0, 91, 0, 35, 0, 1, 
0, 0, 64, 0, 336, 0, 56, 0, 1, 
0, 1, 0, 820, 0, 966, 0, 84, 0, 1, 
0, 0, 256, 0, 5440, 0, 2352, 0, 120, 0, 1, 

2025年1月26日日曜日

250126

Ruby


Stirling number(2)

|Stirling1(n,k)| のk列目を求める方とわかっている場合、以下の方が高速。(Stirling2(n,k) も同様のことが言える)

def f(n)
  return 1 if n == 0
  (1..n).inject(:*)
end

# m次以下を取り出す
def mul(f_ary, b_ary, m)
  s1, s2 = f_ary.size, b_ary.size
  ary = Array.new(s1 + s2 - 1, 0)
  (0..s1 - 1).each{|i|
    (0..s2 - 1).each{|j|
      ary[i + j] += f_ary[i] * b_ary[j]
    }
  }
  ary[0..m]
end

# m次以下を取り出す
def power(ary, n, m)
  return [1] if n == 0
  k = power(ary, n >> 1, m)
  k = mul(k, k, m)
  return k if n & 1 == 0
  return mul(k, ary, m)
end

# 符号は無視
def stirling(n, k, m = 1)
  return [1] + [0] * n if k == 0
  if m == 1
    ary = [0] + (1..n).map{|i| 1r / i}
  else
    ary = [0] + (1..n).map{|i| 1r / f(i)}
  end
  ary = power(ary, k, n)
  fk = f(k)
  (0..n).map{|i| (ary[i] * f(i) / fk).to_i}
end

n = 10
(0..10).each{|i| p [i, stirling(n, i)]}
p ""
(0..10).each{|i| p [i, stirling(n, i, 2)]}

出力結果
[0, [1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]]
[1, [0, 1, 1, 2, 6, 24, 120, 720, 5040, 40320, 362880]]
[2, [0, 0, 1, 3, 11, 50, 274, 1764, 13068, 109584, 1026576]]
[3, [0, 0, 0, 1, 6, 35, 225, 1624, 13132, 118124, 1172700]]
[4, [0, 0, 0, 0, 1, 10, 85, 735, 6769, 67284, 723680]]
[5, [0, 0, 0, 0, 0, 1, 15, 175, 1960, 22449, 269325]]
[6, [0, 0, 0, 0, 0, 0, 1, 21, 322, 4536, 63273]]
[7, [0, 0, 0, 0, 0, 0, 0, 1, 28, 546, 9450]]
[8, [0, 0, 0, 0, 0, 0, 0, 0, 1, 36, 870]]
[9, [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 45]]
[10, [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1]]
""
[0, [1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]]
[1, [0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]]
[2, [0, 0, 1, 3, 7, 15, 31, 63, 127, 255, 511]]
[3, [0, 0, 0, 1, 6, 25, 90, 301, 966, 3025, 9330]]
[4, [0, 0, 0, 0, 1, 10, 65, 350, 1701, 7770, 34105]]
[5, [0, 0, 0, 0, 0, 1, 15, 140, 1050, 6951, 42525]]
[6, [0, 0, 0, 0, 0, 0, 1, 21, 266, 2646, 22827]]
[7, [0, 0, 0, 0, 0, 0, 0, 1, 28, 462, 5880]]
[8, [0, 0, 0, 0, 0, 0, 0, 0, 1, 36, 750]]
[9, [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 45]]
[10, [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1]]

2025年1月25日土曜日

250125

Julia


128ビット整数型

Julia にはプリミティブ型に128ビット整数型があるので、確認してみた。

println("最大値")
x = Int128(2)^127 - 1
println(x)
println("+1する")
println(x + 1)

println("最小値")
y = -Int128(2)^127
println(y)
println("-1する")
println(y - 1)

出力結果
最大値
170141183460469231731687303715884105727
+1する
-170141183460469231731687303715884105728
最小値
-170141183460469231731687303715884105728
-1する
170141183460469231731687303715884105727