0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

大人用です。(x+5)/(x+1)が整数「高校入試チャレンジ問題 整数xをすべて求めよ」様を、計算はsympyで作図は手抜きのつもりでした。

0
Last updated at Posted at 2026-08-06

・大変勉強になりました。ありがとうございました。
・加筆しました。

オリジナル

YUUU0123 様 (0:00〜2:24) いつもお世話になっております。
↓高校入試チャレンジ問題 整数xをすべて求めよ
https://youtu.be/79nBtlIAKDk

いつものsympyで(オリジナル Youtbe様の方法を参考に)

(省略)

(本日の)Gemini先生へ

(x+5)/(x+1) が整数となる整数xをすべて求めよ

(回答省略)ステキ。先生と同じです。
(加筆)Gemini先生へ

​4 の約数は以下の 6 つです。(正負で)
を使ったsympyのソースコードを教えて下さい。結果も出力して下さい。追加で
結果すべてに1を加えた結果も出力して下さい。
直前のソースコードを (x+5)/(x+1) から始めて下さい。
# SymPyで式 (x+5)/(x+1) から分子の約数と計算結果を求めるプログラム
from sympy import Symbol, apart, fraction, divisors

# 式 (x + 5) / (x + 1) を定義
x = Symbol('x')
expr = (x + 5) / (x + 1)

# 部分分数分解して 1 + 4/(x + 1) の形に変形
decomp = apart(expr)

# 分数部分から分子 (4) を取得
frac_part = decomp - 1
num, _ = fraction(frac_part)

# 4の正負の約数を取得 ([-4, -2, -1, 1, 2, 4])
pos_divisors = divisors(int(num))
all_divisors = sorted([-d for d in pos_divisors] + pos_divisors)

# 各約数に 1 を加えた結果 (1 + 約数)
plus_one_results = [d + 1 for d in all_divisors]

# 結果の出力
print("4の約数(正負):", all_divisors)
print("すべてに1を加えた結果:", plus_one_results)

実行結果

4の約数(正負): [-4, -2, -1, 1, 2, 4]
すべてに1を加えた結果: [-3, -1, 0, 2, 3, 5]

いつもの WolframAlphaで

再 (x+5)/(x+1) が整数となる整数xをすべて求めよ
上記をwolframalphaで教えて下さい。

(コードのみ表示)

方法1: 最も確実な指定(変数と解の範囲を指定)

方法2: 自然言語での直接指定

これはダメ。→ (x+5)/(x+1) is an integer

上記をwolframalphaのディオファントス方程式で教えて下さい。
  1. Wolfram言語(Mathematica)の専用関数を使う方法(最も確実)
    これはダメ。→ DiophantineSolve[(x + 5) == k * (x + 1), {x, k}]

  2. ディオファントス方程式のキーワードを直接指定する方法

  1. 整数範囲(over integers)を明示する方法

いつもの sympyで

上記をsympyのソースコードで教えて下さい。
# SymPyを使用して (x + 5) / (x + 1) が整数となる整数 x を求めるコード
from sympy import symbols, diophantine

# 変数を整数として定義
x, k = symbols('x k', integer=True)

# (x + 5) / (x + 1) = k を分母を払って移項した方程式
# (x + 5) - k*(x + 1) = 0
equation = (x + 5) - k * (x + 1)

# ディオファントス方程式(整数解)を求める
solutions = diophantine(equation, syms=(x, k))

# 解のペア (x, k) から x の値を取り出して昇順にソート
x_solutions = sorted([sol[0] for sol in solutions])

print("求める整数 x の値:", x_solutions)

実行結果

求める整数 x の値: [-5, -3, -2, 0, 1, 3]

(本日の)ChatGPT先生へ

・作図はコチラ。

グラフをPNG図のみ出力して下さい。
(ソースコードの表示を省略)

???6点のハズ。
image.png

いつもの? sympyの実行環境 と 参考のおすすめです。

sympyのweb上での実行方法

SymPy Live Shellで。FreeCADのマクロは、以下で実行できません。

(テンプレート)

いつもと違うおすすめです。

Qiita内

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?