裏 RjpWiki

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

【2023】京都大学入試問題数学大問1(文系)

2023年07月14日 | Julia

2023 京都大 大問1(文系)

(2) 次の式の分母を有理化し,分母に3乗根の記号が含まれない式として表せ。

SymPy で分母の有理化は apart()

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

算額(その326)

2023年07月14日 | Julia

算額(その326)

早坂平四郎:算額の一考察,苫小牧工業専門学校紀要
https://www.tomakomai-ct.ac.jp/wp01/wp-content/uploads/2014/06/kiyou5-8.pdf

正方形に関するもの
千葉県成田市 成田不動新勝寺光明堂 明治30年(1897)

正方形内に半円 2 個,等円 3 個を図のように入れる。正方形の一辺の長さを等円の半径で表わせ。

正方形の一辺の長さを 2r1 とする(半円の半径を r1 とする)。
等円の半径を r2 とする。
左上の半円と上の等円が接するという条件で,以下の方程式を解く。

include("julia-source.txt");

using SymPy

@syms r1::positive, r2::positive;

eq = (r1 - r2)^2 + (2r1 - 3r2)^2 - (r1 + r2)^2
solve(eq, r1) |> println

   Sym[r2*(4 - sqrt(7))/2, r2*(sqrt(7) + 4)/2]

二通りの解が得られるが,r1 = r2*(sqrt(7) + 4)/2 が題意を満たす。

すなわち,正方形の一辺の長さ 2r1 は等円の半径の 4 + √7 倍である。

using Plots

function draw(more=false)
   pyplot(size=(500, 500), grid=false, aspectratio=1, label="", fontfamily="IPAMincho")
   r2 = 1
   r1 = (4 + √7)/2
   plot([0, 2r1, 2r1, 0, 0], [0, 0, 2r1, 2r1, 0], color=:black, lw=0.5)
   circle(r1, 2r1, r1, :blue, beginangle=180, endangle=360)
   circle(2r1, r1, r1, :blue, beginangle=90, endangle=270)
   circle(r2, r2, r2)
   circle(r2, 3r2, r2)
   circle(3r2, r2, r2)
   if more
       point(r1, 2r1, " 半円:r1, (r1, 2r1)", :blue, :center)
       point(r2, 3r2, " 等円:r2\n(r2, 3r2)", :red)
       vline!([0], color=:black, lw=0.5)
       hline!([0], color=:black, lw=0.5)
   else
       plot!(showaxis=false)
   end
end;

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

算額(その325)

2023年07月14日 | Julia

算額(その325)

早坂平四郎:算額の一考察,苫小牧工業専門学校紀要
https://www.tomakomai-ct.ac.jp/wp01/wp-content/uploads/2014/06/kiyou5-8.pdf

正方形に関するもの
三重県津市大門町 慧日山観音寺 明治10年(1877)

正方形内に四分円 4 個,甲円 1 個,乙円 4 個,丙円 4 個を図のように入れる。丙円の直径を正方形の一辺の長さで表わせ。

正方形の一辺の長さを a とする。
甲円の半径,中心座標を r1, (0, 0)
乙円の半径,中心座標を r2, ((r1+r2)/√2, (r1+r2)/√2)
丙円の半径,中心座標を r3, (a/2 - r3, 0)
とおき,以下の連立方程式を解く。

include("julia-source.txt");

using SymPy

@syms a::positive, r1::positive, r2::positive, r3::positive, x2::positive;

eq1 = 2(a/2)^2 - (a - r1)^2
eq2 = (a/2 + (r1 + r2)/sqrt(Sym(2)))^2 + (a/2 - (r1 + r2)/sqrt(Sym(2)))^2 - (a - r2)^2
eq3 = (a/2 - r3 + a/2)^2  + (a/2)^2 - (a + r3)^2
solve([eq1, eq2, eq3], (r1, r2, r3))

   1-element Vector{Tuple{Sym, Sym, Sym}}:
    (-7*a*(-1/7 + 3*sqrt(2)/14)/3 + 2*a/3, a*(-1/7 + 3*sqrt(2)/14), a/16)

丙円の直径は a/8 すなわち正方形の一変の長さの 1/8 である。

甲円の半径は正方形の一変の長さの (2 - √2)/2 倍

-7*a*(-1//7 + 3*sqrt(Sym(2))/14)/3 + 2*a/3 |> simplify |> println

   a*(2 - sqrt(2))/2

乙円の半径は正方形の一変の長さの (3√2 - 2)/14 倍

a*(-1//7 + 3*sqrt(Sym(2))/14) |> simplify |> println  # r2

   a*(-2 + 3*sqrt(2))/14

using Plots

function draw(more=false)
   pyplot(size=(500, 500), grid=false, aspectratio=1, label="", fontfamily="IPAMincho")
   a = 1
   (r1, r2, r3) = (a*(2 - √2)/2, a*(3√2 - 2)/14, a/16)
   plot()
   rect(-a/2, -a/2, a/2, a/2, :black)
   circle(a/2, a/2, a, :blue, beginangle=180, endangle=270)
   circle(-a/2, a/2, a, :blue, beginangle=270, endangle=360)
   circle(-a/2, -a/2, a, :blue, beginangle=0, endangle=90)
   circle(a/2, -a/2, a, :blue, beginangle=90, endangle=180)
   circle(0, 0, r1)
   circle4((r1 + r2)/√2, (r1 + r2)/√2, r2, :green)
   circle42(0, a/2 - r3, r3, :orange)
   if more
       point(r1, 0, "r1 ", :red, :right)
       point((r1 + r2)/√2, (r1 + r2)/√2, "(r1+r2)/√2,\nr1+r2)/√2)", :green, :center)
       point(a/2 - r3, 0, " a/2-r3", :orange, :center)
       point(0, a/2, " a/2", :black, :left, :bottom)
       point(0.1a, 0.1a, "甲円", :red, mark=false)
       point(0.3a, 0.4a, "乙円", :green, mark=false)
       point(0.4a, 0.05a, "丙円", :orange, mark=false)
       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アクセスランキング にほんブログ村