私はプログラミングは初めてですが (Python は私の最初の言語です)、アルゴリズムを設計するのが大好きです。現在、連立方程式 (整数) に取り組んでいますが、特定の問題を解決するための参照が見つかりません。
説明させてください。
私は方程式を持っています(あなたが望むなら、テスト):
raw_input == [(90*x + a) * y] + z
ここで、a は何らかの定数です。
私の問題は、変数 z がフィボナッチ数列と非常によく似た方法でカウントされ、変数 x が z のステップであることです。つまり、これ (フィボナッチ数列の場合) は、z シーケンスの最初の項で x = 0、z シーケンスの 2 番目の項で x = 1 ということです。y について解く必要があります。
z を決定する正確なプロセスは次のとおりです。
where c and d are constants:
#at x = 0
temp = (c+(90*x)) * (d+(90*x))
temp/90 = z(0)
#at x = 1
new_temp = (c+(90*x)) * (d + (90*x))
new_temp/90 = z(1)
#for all the rest of the values of z (and x), use:
j = z(@ x=1) - z(@ x=0)
k = j + 180
l = z(@ x=1) + k
print "z(@ x=1) - z(@ x=0) = j"
print "j + 180 = k"
print "k + z(1) = l"
repeat until z > raw_input
this creates the spread of z values by the relation:
j = z(@ x=n) - z(@ x=n-1)
k = j + 180
l = k + z(@ x = n)
y の整数解の条件をテストするために、z < x の値をスキャン (スキップ) する必要があります。
これは可能だと思いますか?