ydydo’s blog

自分用メモ

公文式の問題をPythonでやる(J教材)

家にある公文式の教材をPython(おもにSympy)で解いてみる

J.1   指数法則

 (-2a^3bc^3)^3 の値を求めよ

import sympy
a,b,c = sympy.symbols('a,b,c')
(-2*a**2*b*c**3)**3
J.4 式の計算

 (2a-3b+c)^2 を計算せよ

import sympy
a,b,c = sympy.symbols('a,b,c')
sympy.expand((2*a-3*b+c)**2)
J.8 式の計算

 (a+b)^3,  (a-b)^3 を計算せよ

import sympy
a,b = sympy.symbols('a,b')
sympy.expand((a+b)**3)
sympy.expand((a-b)**3)
J.14 因数分解

 2(x+y)^2 + (x+y) - 3因数分解せよ

import sympy
x, y = sympy.symbols('x,y')
sympy.factor(2*(x+y)**2 + (x+y) - 3)
J.61 分数式

 \frac{x^2-5x+6}{x^2-7x+12} の分数式を約分せよ

import sympy
x = sympy.Symbol('x')
sympy.factor((x**2-5*x+6)/(x**2-7*x+12))
J.66 分数式

 \frac{1}{4x} + \frac{1}{6x} を計算せよ

import sympy
x = sympy.Symbol('x')
sympy.factor(1/(4*x) + 1/(6*x))
J.71 無理数

 \sqrt{3} (2\sqrt{6} - \sqrt{12}) を計算せよ

from sympy import sqrt, expand
expand(sqrt(3) * (2*sqrt(6) - sqrt(12)))
J.71 無理数

 (\sqrt{2} + \sqrt{6})^2  を計算せよ

from sympy import sqrt, expand
expand((sqrt(2) + sqrt(6))**2)
J.74 無理数

  \frac{5\sqrt{2}}{2\sqrt{6}}  を有理化せよ

from sympy import sqrt
5*sqrt(2) / (2*sqrt(6))
J.74 無理数

   \sqrt{\frac{8}{3}} -  \sqrt{\frac{3}{8}}  を有理化せよ

from fractions import Fraction
sqrt(Fraction(8,3)) - sqrt(Fraction(3,8))
J.75 無理数

  \frac{  1  }{ \sqrt{5} + 1  }  を有理化せよ

from sympy import sqrt, simplify
simplify(1 / (sqrt(5) + 1))
J.77 無理数 (2重根号)

  \sqrt{9 + 2\sqrt{14}}  を簡単にせよ

from sympy import sqrt, sqrtdenest
sqrtdenest(sqrt(9 + 2*sqrt(14)))
J.81 無理数

  x=5+\sqrt{3} , y=5-\sqrt{3} のとき  x+y,  xy の値を求めよ

from sympy import symbols
x, y = symbols('x,y')
(x+y).subs({x:5+sqrt(3), y:5-sqrt(3)})
expand((x*y).subs({x:5+sqrt(3), y:5-sqrt(3)}))
J.91 二次方程式

  x^2 + 3x - 10 = 0 を解け

from sympy import solve, Symbol
x = Symbol('x')
solve(x**2 + 3*x -10, dict=True)
J.95 二次方程式

  x^2 - 6x -1 = 0 を解け

from sympy import solve, Symbol
x = Symbol('x')
solve(x**2 - 6*x -1, dict=True)
J.101 虚数二次方程式

 \sqrt{\frac{-3}{16}} を i を用いて表せ

from fractions import Fraction
from sympy import sqrt
sqrt(Fraction(-3,16))
J.112 虚数二次方程式

 (3i)^2 を 計算せよ

from sympy import I
(3*i)**2
J.114 虚数二次方程式

 (\sqrt{3}i + 2)^2 を 計算せよ

from sympy import sqrt, expand, I
expand((sqrt(3)*I + 2)**2)
J.115 虚数二次方程式

 \frac{1}{i^3} を 計算せよ

from sympy import I
(1/I**3)