裏 RjpWiki

Julia ときどき R, Python によるコンピュータプログラム,コンピュータ・サイエンス,統計学

算額(その321)

2023年07月11日 | Julia

算額(その321)

長野県上田市別所温泉 北向観音堂 安永9年(1780)
中村信弥「改訂増補 長野県の算額」(32)

http://www.wasan.jp/zoho/zoho.html

大きな正方形の中に,甲, 乙, 丙, 丁 の正方形が入っている。
大きな正方形の一辺の長さが 10,甲,乙,丙,丁の面積の和が 30 歩,甲と乙の一辺の3乗和が 91,丙と丁の一辺の3乗和が 9 のとき,各正方形の一辺の長さを求めよ。

include("julia-source.txt");

using SymPy

@syms 甲::positive, 乙::positive, 丙::positive, 丁::positive;

eq1 = 甲^2 + 乙^2 + 丙^2 + 丁^2 - 30
eq2 = 甲^3 + 乙^3 - 91
eq3 = 丙^3 + 丁^3 - 9
eq4 = 甲 + 乙 + 丙 + 丁 - 10
solve([eq1, eq2, eq3, eq4], (甲, 乙, 丙, 丁))

   4-element Vector{NTuple{4, Sym}}:
    (3, 4, 1, 2)
    (3, 4, 2, 1)
    (4, 3, 1, 2)
    (4, 3, 2, 1)

県内の算額(83)
長野県上田市別所温泉 北向観音堂 文化4年(1807) 前者との異同が不明。
同じ問題で数値の異なるもの。

@syms 単::positive, 複::positive, 奇::positive, 偶::positive;

eq1 = 単^2 + 複^2 + 奇^2 + 偶^2 - 30
eq2 = 単^3 + 複^3 - 72
eq3 = 奇^3 + 偶^3 - 28
eq4 = 単 + 複 + 奇 + 偶 - 10
solve([eq1, eq2, eq3, eq4], (単, 複, 奇, 偶))

   4-element Vector{NTuple{4, Sym}}:
    (2, 4, 1, 3)
    (2, 4, 3, 1)
    (4, 2, 1, 3)
    (4, 2, 3, 1)

using Plots

function draw(more=false)
   pyplot(size=(500, 500), grid=false, aspectratio=1, label="", fontfamily="IPAMincho")
   (単, 複, 奇, 偶) = (2, 4, 3, 1)
   plot()
   rect(0, 0, 10, 10, :black)
   rect(0, 0, 偶, 偶, :blue)
   rect(偶, 偶, 偶 + 奇, 偶 + 奇, :red)
   rect(10 - 単 - 複, 10 - 単 - 複, 10 - 単, 10 - 単, :orange)
   rect(10 - 単, 10 - 単, 10, 10, :magenta)
   if more
       vline!([0], color=:black, lw=0.5)
       hline!([0], color=:black, lw=0.5)
   else
       plot!(showaxis=false)
   end
end;

コメント
  • X
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする

PVアクセスランキング にほんブログ村

PVアクセスランキング にほんブログ村