2019年9月29日日曜日

190929(2)

PARI


A327855

For n > 1, (Sum_{i=0..prime(n)-1} (1+Legendre(i, prime(n)) * x^i)^2 == (-1)^((p - 1)/2) * p mod ((x^p - 1)/(x - 1)) where p is n-th prime
となることを確認しておく。

(16:57) gp > forprime(p=2, 30, print(Vecrev((sum(k=0, p-1, (1+kronecker(k, p))*x^k))^2, 2*p-1), ", "))
[1, 4, 4],
[1, 4, 4, 0, 0],
[1, 4, 4, 0, 4, 8, 0, 0, 4],
[1, 4, 8, 8, 8, 8, 8, 0, 4, 0, 0, 0, 0],
[1, 4, 4, 4, 12, 12, 12, 8, 12, 12, 12, 0, 8, 8, 8, 0, 0, 0, 4, 0, 0],
[1, 4, 4, 4, 12, 8, 4, 8, 4, 4, 12, 8, 12, 24, 8, 8, 8, 0, 4, 8, 4, 8, 8, 0, 4],
[1, 4, 8, 8, 8, 8, 8, 0, 8, 12, 16, 8, 8, 12, 8, 12, 16, 32, 12, 8, 8, 8, 8, 8, 16, 8, 4, 0, 8, 8, 4, 8, 4],
[1, 4, 4, 0, 4, 12, 12, 12, 12, 12, 20, 20, 20, 16, 12, 16, 20, 20, 20, 0, 16, 16, 20, 16, 8, 8, 8, 8, 8, 0, 0, 0, 4, 8, 4, 0, 0],
[1, 4, 8, 12, 16, 16, 16, 16, 16, 20, 24, 16, 24, 20, 24, 24, 24, 24, 24, 24, 24, 24, 24, 0, 20, 16, 12, 8, 8, 8, 8, 8, 4, 0, 8, 0, 4, 0, 0, 0, 0, 0, 0, 0, 0],
[1, 4, 4, 0, 4, 12, 12, 12, 12, 12, 20, 16, 12, 20, 20, 8, 12, 16, 12, 8, 20, 16, 20, 20, 20, 28, 28, 24, 28, 56, 24, 24, 28, 24, 16, 16, 16, 16, 16, 8, 12, 16, 8, 8, 20, 16, 12, 16, 20, 8, 12, 8, 8, 8, 0, 0, 4],
(17:00) gp > forprime(p=2, 30, print(lift(Mod((sum(k=0, p-1, (1+kronecker(k, p))*x^k))^2, polcyclo(p))), ", "))
1,
-3,
5,
-7,
-11,
13,
17,
-19,
-23,
29,
(17:00) gp >

190929

PARI


Kronecker symbol

ルジャンドル記号 (Legendre symbol) が超有名なのに対し、
クロネッカー記号 (Kronecker symbol) はあまり知られていない。
A215200 の最初の項を見ていると、(m/n) = (n/m) となりそうな気がするが、
(7/3) = 1, (3/7) = -1 なので (m/n) ≠ (n/m) である。

(00:00) gp > T(n, k) = kronecker(n-k, k);
(00:00) gp > tabl(nn) = for(n=2, nn, for(k=1, n-1, print1(T(n, k), ", ")); print);
(00:00) gp > tabl(10)
1,
1, 1,
1, 0, 1,
1, -1, -1, 1,
1, 0, 0, 0, 1,
1, -1, 1, 1, -1, 1,
1, 0, -1, 0, -1, 0, 1,
1, 1, 0, 1, 1, 0, 1, 1,
1, 0, 1, 0, 0, 0, -1, 0, 1,
(00:01) gp >

2019年9月15日日曜日

190915(2)

Ruby


A309597

出力してみた。

def A325912(n)
  a = [2]
  (1..n).each{|i| a << -a[-1] + 2 ** (2 ** i)}
  a
end

def A325910(n)
  a = A325912(n - 1)
  [0] + (1..n).map{|i| (a[i - 1] - (i % 2)).to_s(2).to_i}
end

def A309597(n)
  a = A325910(n - 1)
  s = 0
  ary = []
  (1..n).each{|i|
    s += a[i - 1] * 10 ** (2 ** (i - 2)) if i > 1
    t = a[i - 1] * 10 ** (2 ** (i - 1))
    u = (5 * 10 ** (2 ** i - 1) + 4) / 9
    ary << s + t + u
  }
  ary
end

p A309597(10)

出力結果
[6, 666, 5656566, 555665666566566, 5555555666655656666556566566566, 555555555555555666666665555665666666666555566566666556566566566, 5555555555555555555555555555555666666666666666655555555666655656666666666666666555555556666556566666666555566566666556566566566, 555555555555555555555555555555555555555555555555555555555555555666666666666666666666666666666665555555555555555666666665555665666666666666666666666666666666666555555555555555566666666555566566666666666666666555555556666556566666666555566566666556566566566, 5555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555666666666666666666666666666666666666666666666666666666666666666655555555555555555555555555555555666666666666666655555555666655656666666666666666666666666666666666666666666666666666666666666666555555555555555555555555555555556666666666666666555555556666556566666666666666666666666666666666555555555555555566666666555566566666666666666666555555556666556566666666555566566666556566566566, 555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666665555555555555555555555555555555555555555555555555555555555555555666666666666666666666666666666665555555555555555666666665555665666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666555555555555555555555555555555555555555555555555555555555555555566666666666666666666666666666666555555555555555566666666555566566666666666666666666666666666666666666666666666666666666666666666555555555555555555555555555555556666666666666666555555556666556566666666666666666666666666666666555555555555555566666666555566566666666666666666555555556666556566666666555566566666556566566566]

190915

Ruby


A309597 & A325907

出力してみた。

def A325907(n)
  a = [3]
  (2..n).each{|i|
    j = 10 ** (2 ** (i - 2))
    a << (j + 3) * (j - 1) / 3 - a[-1]
  }
  a
end

A325907(10).each{|i| puts "T(#{i}) = #{i * (i + 1) / 2}"}

出力結果
T(3) = 6
T(36) = 666
T(3363) = 5656566
T(33336636) = 555665666566566
T(3333333366663363) = 5555555666655656666556566566566
T(33333333333333336666666633336636) = 555555555555555666666665555665666666666555566566666556566566566
T(3333333333333333333333333333333366666666666666663333333366663363) = 5555555555555555555555555555555666666666666666655555555666655656666666666666666555555556666556566666666555566566666556566566566
T(33333333333333333333333333333333333333333333333333333333333333336666666666666666666666666666666633333333333333336666666633336636) = 555555555555555555555555555555555555555555555555555555555555555666666666666666666666666666666665555555555555555666666665555665666666666666666666666666666666666555555555555555566666666555566566666666666666666555555556666556566666666555566566666556566566566
T(3333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333366666666666666666666666666666666666666666666666666666666666666663333333333333333333333333333333366666666666666663333333366663363) = 5555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555666666666666666666666666666666666666666666666666666666666666666655555555555555555555555555555555666666666666666655555555666655656666666666666666666666666666666666666666666666666666666666666666555555555555555555555555555555556666666666666666555555556666556566666666666666666666666666666666555555555555555566666666555566566666666666666666555555556666556566666666555566566666556566566566
T(33333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333336666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666633333333333333333333333333333333333333333333333333333333333333336666666666666666666666666666666633333333333333336666666633336636) = 555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666665555555555555555555555555555555555555555555555555555555555555555666666666666666666666666666666665555555555555555666666665555665666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666555555555555555555555555555555555555555555555555555555555555555566666666666666666666666666666666555555555555555566666666555566566666666666666666666666666666666666666666666666666666666666666666555555555555555555555555555555556666666666666666555555556666556566666666666666666666666666666666555555555555555566666666555566566666666666666666555555556666556566666666555566566666556566566566

2019年9月8日日曜日

190908

Ruby


A305714

条件を満たす数を出力してみた。

@ary = (0..9).to_a + ('A'..'Z').to_a

def A(n)
  (1..n).to_a.permutation{|a|
    if (0..n - 1).all?{|i| (0..i).inject(0){|s, j| s + a[j] * 10 ** (i - j)} % (i + 1) == 0}
      puts a.map{|i| @ary[i]}.join
    end
  }
end

(1..10).each{|i| A(i)}

出力結果
1
12
123
321
123654
321654
38165472
381654729
381654729A