MENU
28,637

フィボナッチ数に関連して

フィボナッチ数の話題が出たので、関連して
x^nをx^2-x-1で割った商と余りにはフィボナッチ数が密接に関わってくる。

x^2 = (x^2 - x - 1)*(1) + (x + 1)
x^3 = (x^2 - x - 1)*(x + 1) + (2*x + 1)
x^4 = (x^2 - x - 1)*(x^2 + x + 2) + (3*x + 2)
x^5 = (x^2 - x - 1)*(x^3 + x^2 + 2*x + 3) + (5*x + 3)
x^6 = (x^2 - x - 1)*(x^4 + x^3 + 2*x^2 + 3*x + 5) + (8*x + 5)
x^7 = (x^2 - x - 1)*(x^5 + x^4 + 2*x^3 + 3*x^2 + 5*x + 8) + (13*x + 8)
x^8 = (x^2 - x - 1)*(x^6 + x^5 + 2*x^4 + 3*x^3 + 5*x^2 + 8*x + 13) + (21*x + 13)
x^9 = (x^2 - x - 1)*(x^7 + x^6 + 2*x^5 + 3*x^4 + 5*x^3 + 8*x^2 + 13*x + 21) + (34*x + 21)
x^10 = (x^2 - x - 1)*(x^8 + x^7 + 2*x^6 + 3*x^5 + 5*x^4 + 8*x^3 + 13*x^2 + 21*x + 34) + (55*x + 34)
x^11 = (x^2 - x - 1)*(x^9 + x^8 + 2*x^7 + 3*x^6 + 5*x^5 + 8*x^4 + 13*x^3 + 21*x^2 + 34*x + 55) + (89*x + 55)
x^12 = (x^2 - x - 1)*(x^10 + x^9 + 2*x^8 + 3*x^7 + 5*x^6 + 8*x^5 + 13*x^4 + 21*x^3 + 34*x^2 + 55*x + 89) + (144*x + 89)
x^13 = (x^2 - x - 1)*(x^11 + x^10 + 2*x^9 + 3*x^8 + 5*x^7 + 8*x^6 + 13*x^5 + 21*x^4 + 34*x^3 + 55*x^2 + 89*x + 144) + (233*x + 144)
x^14 = (x^2 - x - 1)*(x^12 + x^11 + 2*x^10 + 3*x^9 + 5*x^8 + 8*x^7 + 13*x^6 + 21*x^5 + 34*x^4 + 55*x^3 + 89*x^2 + 144*x + 233) + (377*x + 233)
x^15 = (x^2 - x - 1)*(x^13 + x^12 + 2*x^11 + 3*x^10 + 5*x^9 + 8*x^8 + 13*x^7 + 21*x^6 + 34*x^5 + 55*x^4 + 89*x^3 + 144*x^2 + 233*x + 377) + (610*x + 377)
・・・・・・・・・・・・・・・・・・

引用して返信編集・削除(未編集)

令和2年の投稿「フィボナッチ数のべき乗数」への返信:

>フィボナッチ数 {F(n)}:0,1,1,2,3,5,8,13,21,35,・・・ に関して、必ず示される漸化式が

>  F(n+2)=F(n+1)+F(n)

> そこで、このフィボナッチ数のm乗数:F(n)^mについて調べると、

>F(n+3)^2=2*F(n+2)^2+2*F(n+1)^2-F(n)^2

>F(n+4)^3=3*F(n+3)^3+6*F(n+2)^3-3*F(n+1)^3-F(n)^3

>F(n+5)^4=5*F(n+4)^4+15*F(n+3)^4-15*F(n+2)^4-5*F(n+1)^4+F(n)^4

>  ・・・・・・・・・・・・・・・

>が成立しています。

> m=5、6、・・・ に挑戦してほしい。



(F(n+6))^5, (F(n+7))^6 は次のようになります。
(F(n+6))^5=8*(F(n+5))^5+40*(F(n+4))^5-60*(F(n+3))^5-40*(F(n+2))^5+8*(F(n+1))^5+(F(n))^5,
(F(n+7))^6=13*(F(n+6))^6+104*(F(n+5))^6-260*(F(n+4))^6-260*(F(n+3))^6+104*(F(n+2))^6+13*(F(n+1))^6-(F(n))^6.


一般には、次のようになります。

mを正整数、s,tを実数(ただし、t^2+4*s≠0,t≠0)とするとき、漸化式
a(n+2)=s*a(n)+t*a(n+1)
を満たす数列 {a(n)} に対して、等式
(a(n+m+1))^m
=Σ[k=1~m+1](a(n+m+1-k))^m*((-1)^(k+1))*((-s)^(k*(k-1)/2))*(Π[j=1~k]A(m+2-j)/A(j))
が成り立ちます。
ここで、{A(n)}は以下で定まる数列です。
A(0)=0,
A(1)=1,
A(n+2)=s*A(n)+t*A(n+1) (n≧0).


(証明)
α=(t+√(t^2+4*s))/2,β=(t-√(t^2+4*s))/2 とします。
a(n)=v*α^n+w*β^n (v,wは定数) と表せます。
G(z)=Σ[n≧0](a(n))^m*z^n とおくと、
G(z)
=Σ[n≧0](v*α^n+w*β^n)^m*z^n
=Σ[n≧0]z^n*(Σ[j≧0]comb(m,j)*(v*α^n)^j*(w*β^n)^(m-j))
=Σ[n≧0]z^n*(Σ[j≧0]comb(m,j)*(v^j*w^(m-j))*((α/β)^j*β^m)^n)
=Σ[n≧0]Σ[j≧0]comb(m,j)*(v^j*w^(m-j))*(z*(α/β)^j*β^m)^n
=Σ[j≧0]comb(m,j)*(v^j*w^(m-j))*(Σ[n≧0](z*(α/β)^j*β^m)^n)
=Σ[j≧0]comb(m,j)*(v^j*w^(m-j))*(1/(1-z*(α/β)^j*β^m)).
よって、
G(z/(β^m))=Σ[j≧0]comb(m,j)*(v^j*w^(m-j))*(1/(1-z*(α/β)^j)).
両辺に Π[j=0~m](1-z*(α/β)^j) をかけると、
G(z/(β^m))*Π[j=0~m](1-z*(α/β)^j)=(zについてのm次以下の多項式)
となります。両辺の z^(n+m+1) の係数を比較して、
[z^(n+m+1)](G(z/(β^m))*Π[j=0~m](1-z*(α/β)^j))=0.

[z^(n+m+1)](G(z/(β^m))*Π[j=0~m](1-z*(α/β)^j))
=Σ[k=0~m+1]([z^(n+m+1-k)]G(z/(β^m)))*([z^k]Π[j=0~m](1-z*(α/β)^j))).

ここで、[z^(n+m+1-k)]G(z/(β^m))=(a(n+m+1-k))^m*(1/β)^(m*(n+m+1-k)).
また、[z^k]Π[j=0~m](1-z*(α/β)^j)は少々厄介ですが、
[z^k]Π[j=0~m](1-z*(α/β)^j)
=((-1)^k)*((α/β)^(k*(k-1)/2))*Π[j=1~k](1-(α/β)^(m+2-j))/(1-(α/β)^j)
となります。
(一般に、[z^k](Π[j=0~m](1-z*γ^j))
=((-1)^k)*(γ^(k*(k-1)/2))*Π[j=1~k](1-γ^(m+2-j))/(1-γ^j))
となります。このことは後に証明します。)

よって、
[z^(n+m+1)](G(z/(β^m))*Π[j=0~m](1-z*(α/β)^j))
=Σ[k=0~m+1](a(n+m+1-k))^m*(1/β)^(m*(n+m+1-k))*((-1)^k)*((α/β)^(k*(k-1)/2))*Π[j=1~k](1-(α/β)^(m+2-j))/(1-(α/β)^j)
=Σ[k=0~m+1](a(n+m+1-k))^m*((-1)^k)*((α*β)^(k*(k-1)/2))*(Π[j=1~k](β^(m+2-j)-α^(m+2-j))/(β^j-α^j))*(1/β)^(m*(n+m+1))
=Σ[k=0~m+1](a(n+m+1-k))^m*((-1)^k)*((-s)^(k*(k-1)/2))*(Π[j=1~k]A(m+2-j)/A(j))*(1/β)^(m*(n+m+1)).
これが 0 に等しいので、
(a(n+m+1))^m = Σ[k=1~m+1](a(n+m+1-k))^m*((-1)^(k+1))*((-s)^(k*(k-1)/2))*(Π[j=1~k]A(m+2-j)/A(j)).



------------------------------------------------------------------
[z^k](Π[j=0~m](1-z*γ^j))
=((-1)^k)*(γ^(k*(k-1)/2))*Π[j=1~k](1-γ^(m+2-j))/(1-γ^j)
であることの証明:

G(γ,z)=Π[j=0~m](1-z*γ^j)とおき、G(γ,z)を展開したときの z^k
の係数を U(γ,k) とします。
そうすると、G(γ,z)=Σ[k=0~m+1]U(γ,k)*z^k.

等式 (1-z*γ^(m+1))*G(γ,z)=(1-z)*G(γ,z*γ) が成り立ちます。
この等式の両辺のz^kの係数を比較して、
U(γ,k)-U(γ,k-1)*γ^(m+1)=U(γ,k)*γ^k-U(γ,k-1)*γ^(k-1).
よって、
U(γ,k)
=((γ^(m+1)-γ^(k-1))/(1-γ^k))*U(γ,k-1)
=((γ^(m+1)-γ^(k-1))*(γ^(m+1)-γ^(k-2))/((1-γ^k)*(1-γ^(k-1))))*U(γ,k-2)
=…
=(Π[j=1~k](γ^(m+1)-γ^(k-j))/(1-γ^j))*U(γ,0)
=Π[j=1~k](γ^(m+1)-γ^(k-j))/(1-γ^j)
=((-1)^k)*(γ^(k*(k-1)/2))*Π[j=1~k](1-γ^(m+2-j))/(1-γ^j).

引用して返信編集・削除(編集済: 2022年07月31日 10:49)

2年前の投稿だったので忘れていました。
ちなみに10乗までの式を置いておきます。

F(n+8)^7=21*(F(n+7))^7+273*(F(n+6))^7-1092*(F(n+5))^7-1820*(F(n+4))^7 +1092*(F(n+3))^7+273*(F(n+2))^7-21*(F(n+1))^7-(F(n))^7

F(n+9)^8=34*(F(n+8))^8+714*(F(n+7))^8-4641*(F(n+6))^8-12376*(F(n+5))^8 +12376*(F(n+4))^8+4641*(F(n+3))^8-714*(F(n+2))^8-34*F(n+1))^8+(F(n))^8

F(n+10)^9=55*(F(n+9))^9+1870*(F(n+8))^9-19635*(F(n+7))^9-85085*(F(n+6))^9+136136*(F(n+5))^9+85085*(F(n+4))^9-19635*(F(n+3))^9-1870*(F(n+2))^9+55*(F(n+1))^9+(F(n))^9

F(n+11)^10=89*(F(n+10))^10+4895*(F(n+9))^10-83215*(F(n+8))^10-582505*(F(n+7))^10+1514513*(F(n+6))^10+1514513*(F(n+5))^10
-582505*(F(n+4))^10-83215*(F(n+3))^10+4895*(F(n+2))^10 +89*(F(n+1))^10-(F(n))^10

なお10乗の式を構成するには、プログラム的に
gp > A(n)=matrix(n,n,i,j,binomial(i-1,n-j));
gp > charpoly(A(11),x)
%150 =
x^11 - 89*x^10 - 4895*x^9 + 83215*x^8 + 582505*x^7 - 1514513*x^6
- 1514513*x^5 + 582505*x^4 + 83215*x^3 - 4895*x^2 - 89*x + 1
なお
gp > A(11)
%151 =
[0 0 0 0 0 0 0 0 0 0 1]

[0 0 0 0 0 0 0 0 0 1 1]

[0 0 0 0 0 0 0 0 1 2 1]

[0 0 0 0 0 0 0 1 3 3 1]

[0 0 0 0 0 0 1 4 6 4 1]

[0 0 0 0 0 1 5 10 10 5 1]

[0 0 0 0 1 6 15 20 15 6 1]

[0 0 0 1 7 21 35 35 21 7 1]

[0 0 1 8 28 56 70 56 28 8 1]

[0 1 9 36 84 126 126 84 36 9 1]

[1 10 45 120 210 252 210 120 45 10 1]

の行列を意味する。(パスカルの三角形を右詰めで作る。)
この行列の特性方程式を導くのがcharpolyコマンドです。

この式から%150=0と置いて
一気に
x^11=89*x^10 + 4895*x^9 - 83215*x^8 - 582505*x^7 + 1514513*x^6
+ 1514513*x^5 - 582505*x^4 - 83215*x^3 + 4895*x^2 + 89*x - 1

の表示が入手でき、これを元に組み立てられる。

引用して返信編集・削除(編集済: 2022年08月02日 08:16)

フィボナッチ数の役割

自然数nが積においては素数が大切な役割を担うのに対し
和においてはフィボナッチ数{1,2,3,5,8,13,21,34,55,・・・}
がその任を担う位なことを教えてくれるのが
Zeckenrorf's Theorem(ゼッケンドリフの定理)で

”あらゆる自然数nは連続しないフィボナッチ数の和で必ず構成可能で
その表現はただ一通り”

というものに出会った。
確かに100までの自然数は
1 = 1
2 = 2
3 = 3
4 = 1 + 3
5 = 5
6 = 1 + 5
7 = 2 + 5
8 = 8
9 = 1 + 8
10 = 2 + 8
11 = 3 + 8
12 = 1 + 3 + 8
13 = 13
14 = 1 + 13
15 = 2 + 13
16 = 3 + 13
17 = 1 + 3 + 13
18 = 5 + 13
19 = 1 + 5 + 13
20 = 2 + 5 + 13
21 = 21
22 = 1 + 21
23 = 2 + 21
24 = 3 + 21
25 = 1 + 3 + 21
26 = 5 + 21
27 = 1 + 5 + 21
28 = 2 + 5 + 21
29 = 8 + 21
30 = 1 + 8 + 21
31 = 2 + 8 + 21
32 = 3 + 8 + 21
33 = 1 + 3 + 8 + 21
34 = 34
35 = 1 + 34
36 = 2 + 34
37 = 3 + 34
38 = 1 + 3 + 34
39 = 5 + 34
40 = 1 + 5 + 34
41 = 2 + 5 + 34
42 = 8 + 34
43 = 1 + 8 + 34
44 = 2 + 8 + 34
45 = 3 + 8 + 34
46 = 1 + 3 + 8 + 34
47 = 13 + 34
48 = 1 + 13 + 34
49 = 2 + 13 + 34
50 = 3 + 13 + 34
51 = 1 + 3 + 13 + 34
52 = 5 + 13 + 34
53 = 1 + 5 + 13 + 34
54 = 2 + 5 + 13 + 34
55 = 55
56 = 1 + 55
57 = 2 + 55
58 = 3 + 55
59 = 1 + 3 + 55
60 = 5 + 55
61 = 1 + 5 + 55
62 = 2 + 5 + 55
63 = 8 + 55
64 = 1 + 8 + 55
65 = 2 + 8 + 55
66 = 3 + 8 + 55
67 = 1 + 3 + 8 + 55
68 = 13 + 55
69 = 1 + 13 + 55
70 = 2 + 13 + 55
71 = 3 + 13 + 55
72 = 1 + 3 + 13 + 55
73 = 5 + 13 + 55
74 = 1 + 5 + 13 + 55
75 = 2 + 5 + 13 + 55
76 = 21 + 55
77 = 1 + 21 + 55
78 = 2 + 21 + 55
79 = 3 + 21 + 55
80 = 1 + 3 + 21 + 55
81 = 5 + 21 + 55
82 = 1 + 5 + 21 + 55
83 = 2 + 5 + 21 + 55
84 = 8 + 21 + 55
85 = 1 + 8 + 21 + 55
86 = 2 + 8 + 21 + 55
87 = 3 + 8 + 21 + 55
88 = 1 + 3 + 8 + 21 + 55
89 = 89
90 = 1 + 89
91 = 2 + 89
92 = 3 + 89
93 = 1 + 3 + 89
94 = 5 + 89
95 = 1 + 5 + 89
96 = 2 + 5 + 89
97 = 8 + 89
98 = 1 + 8 + 89
99 = 2 + 8 + 89
100 = 3 + 8 + 89
・・・・・・・
といかにも素因数分解される様にしてフィボナッチ数分解されていく。

この「連続しない」の条件を外せば、例えばn=100では
100=1+2+8+89
=3+8+34+55
=1+2+3+5+89
=1+2+8+34+55
=3+8+13+21+55
=1+2+3+5+34+55
=1+2+8+13+21+55
=1+2+3+5+13+21+55

とそれ以外にも8個、計9通りの構成が可能になる。

そこで
n=7777 の場合のZeckenrorf的分解型と
他の連続も許す分解型の実例を示してほしい。

もちろんプログラム的に作業されても構いませんが、計算にかかった時間を示してほしい。

引用して返信編集・削除(編集済: 2022年07月26日 18:42)

7777
=1+3+21+987+6765 (Zeckendorf)
=1+3+8+13+987+6765
=1+3+21+377+610+6765
=1+3+8+13+377+610+6765
=1+3+21+144+233+610+6765
=1+3+8+13+144+233+610+6765
=1+3+21+55+89+233+610+6765
=1+3+8+13+55+89+233+610+6765
=1+3+8+13+21+34+89+233+610+6765
=1+3+21+987+2584+4181
=1+3+8+13+987+2584+4181
=1+3+21+377+610+2584+4181
=1+3+8+13+377+610+2584+4181
=1+3+21+144+233+610+2584+4181
=1+3+8+13+144+233+610+2584+4181
=1+3+21+55+89+233+610+2584+4181
=1+3+8+13+55+89+233+610+2584+4181
=1+3+8+13+21+34+89+233+610+2584+4181
=1+3+21+377+610+987+1597+4181
=1+3+8+13+377+610+987+1597+4181
=1+3+21+144+233+610+987+1597+4181
=1+3+8+13+144+233+610+987+1597+4181
=1+3+21+55+89+233+610+987+1597+4181
=1+3+8+13+55+89+233+610+987+1597+4181
=1+3+8+13+21+34+89+233+610+987+1597+4181
計25個
実行時間:約0.01秒

引用して返信編集・削除(未編集)

Zeckendorfの表現を利用すると、その他の表し方を含む総数の個数を求める計算方法は色々な資料を読む中で分かって計算上直ぐに
求められる手段はわかりました。
ところがその実例はとなると、何とかゼッケンドルフのフィボナッチ数が使われる部分を1、使っていないものは0で表示していくとき
(7777=>[1,0,0,0,1,0,0,0,0,0,0,0,1,0,0,0,1,0,1]となる。)
本での説明ではこの列での1,0,0の部分を0,1,1へ変更すれば良いとの説明を読むが、桁がもっと短いものなら何とかそれで求まると
体験は出来るんですが、これを自動でプログラムしようとすると例えばこの例のように1,0,0 の部分が何通りもある場合、1か所だけ変更
や2か所同時に変更するなど、いろいろな枝分かれが起こっていってしまい、どの様に組んで行っていいのか分からなくなりました。
従って、フィボナッチ数の個数19から5,6,7,8,9,10,11,12個取り出す各組合せを和が7777になるものをチェックするという手法しかやれず
その計算時間は何と半日以上という,0.01秒が夢のまた夢の状態でした。

そこをらすかるさんはプログラム的にどのような経路で出力できたるのか粗筋的でも良いので教えて下さい。

引用して返信編集・削除(未編集)

大きい順にフィボナッチ数を使うかどうかで分岐します。
7777以下の最大のフィボナッチ数は6765
6765を使う場合と使わない場合で分岐
 6765を使う場合はあと1012
 1012以下の最大のフィボナッチ数は987
 987を使う場合と使わない場合で分岐
  987を使う場合はあと25
   25以下の最大のフィボナッチ数は21
   21を使う場合と使わない場合で分岐
    21を使う場合はあと4
     4以下の最大のフィボナッチ数は3
     3を使う場合と使わない場合で分岐
      3を使う場合はあと1→1+3+21+987+6765
      3を使わない場合はそれ未満のフィボナッチ数の和が4未満なので不適
    21を使わない場合は次のフィボナッチ数は13
    (このとき残りのフィボナッチ数の和が25以上かどうかチェックするが、32なのでOK)
    13を使う場合と使わない場合で分岐
     13を使う場合はあと12
      12以下の最大のフィボナッチ数は8
      8を使う場合と使わない場合で分岐
       8を使う場合はあと4 → 上と同じ処理なので省略
       8を使わない場合はそれ未満のフィボナッチ数の和が12未満なので不適
     13を使わない場合はそれ未満のフィボナッチ数の和が25未満なので不適
  987を使わない場合は次のフィボナッチ数は610
・・・・
実際には再帰で処理しており、また「分岐」と書いているのは実際に分岐しているわけではなく
「どのフィボナッチ数を使うか」という19ビットのフラグに1を立てるかどうかです。
また「それ未満のフィボナッチ数の和」がただちに得られるように、
Σ[k=1~n]F(k)のテーブルを最初に作っています。

引用して返信編集・削除(編集済: 2022年07月27日 04:18)

説明してもらったプログラムの分岐を再現しようとやっていたんですが
やはり難しく、もう単純に7777のZeckendorf表示
7777=[1,0,0,0,1,0,0,0,0,0,0,0,1,0,0,0,1,0,1]
をレバースさせた
[1, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1]
において
[0,0,1]の部分があれば、そこを[1,1,0]へ変更させる作業をその都度
行い、新たにそれらを集めた集合を作っていくことを繰り返してみました。
2か所以上あっても、同時に変化させることはしなくてそれぞれの変化を
集めることにしました。
ですから、1回目の操作では次がその集合になります。

[[1, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1],
[ 1, 0, 1, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1],
[ 1, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 1],
[ 1, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 0]]

2回目はこの集合に対し同様な操作をそれぞれに行っていき、これの集合に
新たに追加していきました。
但し同じものが重なった場合はそれはその重なりを解消する操作を入れておきます。

これを数回繰り返しておけば、集まってくる集合の個数が一定の数に収斂していき
それ以上は増えも減りもしなくなりました。

これを見つけたら、その集合に対しフィボナッチ数を割り振って構成できました。
但し最後の成分が0があるものは、その0を取り除く作業をしておきます。

ここまでを自動でやらせるプログラムを準備したら、あっと言う間に全フィボナッチ数の
分解表現を並ばせることができました。

ちなみにn=123456でZeckendorf表示は、
[1, 2, 3, 5, 8, 13, 21, 34, 55, 89, 144, 233, 377, 610, 987,
1597, 2584, 4181, 6765, 10946, 17711, 28657, 46368, 75025, 121393]
までが使われるフィボナッチ数なので、最大なフィボナッチ数を採用していくと(貪欲法)
gp > 123456-121393 (25番目を使う)
%176 = 2063
gp > 2063-1597 (16番目を使う)
%177 = 466
gp > 466-377 (13番目を使う)
%178 = 89 (10番目を使う)
を使えばよいことになるので後は使われるフィボナッチ数を位取りで示せばよいので
123456=[1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0]

これにプログラムを適応したら
1; 89 + 377 + 1597 + 121393
2; 89 + 377 + 1597 + 46368 + 75025
3; 89 + 377 + 1597 + 17711 + 28657 + 75025
4; 89 + 377 + 1597 + 6765 + 10946 + 28657 + 75025
5; 89 + 377 + 1597 + 2584 + 4181 + 10946 + 28657 + 75025
6; 89 + 377 + 610 + 987 + 121393
7; 89 + 377 + 610 + 987 + 46368 + 75025
8; 89 + 377 + 610 + 987 + 17711 + 28657 + 75025
9; 89 + 377 + 610 + 987 + 6765 + 10946 + 28657 + 75025
10; 89 + 377 + 610 + 987 + 2584 + 4181 + 10946 + 28657 + 75025
11; 89 + 144 + 233 + 1597 + 121393
12; 89 + 144 + 233 + 1597 + 46368 + 75025
13; 89 + 144 + 233 + 1597 + 17711 + 28657 + 75025
14; 89 + 144 + 233 + 1597 + 6765 + 10946 + 28657 + 75025
15; 89 + 144 + 233 + 1597 + 2584 + 4181 + 10946 + 28657 + 75025
16; 89 + 144 + 233 + 610 + 987 + 121393
17; 89 + 144 + 233 + 610 + 987 + 46368 + 75025
18; 89 + 144 + 233 + 610 + 987 + 17711 + 28657 + 75025
19; 89 + 144 + 233 + 610 + 987 + 6765 + 10946 + 28657 + 75025
20; 89 + 144 + 233 + 610 + 987 + 2584 + 4181 + 10946 + 28657 + 75025
21; 34 + 55 + 377 + 1597 + 121393
22; 34 + 55 + 377 + 1597 + 46368 + 75025
23; 34 + 55 + 377 + 1597 + 17711 + 28657 + 75025
24; 34 + 55 + 377 + 1597 + 6765 + 10946 + 28657 + 75025
25; 34 + 55 + 377 + 1597 + 2584 + 4181 + 10946 + 28657 + 75025
26; 34 + 55 + 377 + 610 + 987 + 121393
27; 34 + 55 + 377 + 610 + 987 + 46368 + 75025
28; 34 + 55 + 377 + 610 + 987 + 17711 + 28657 + 75025
29; 34 + 55 + 377 + 610 + 987 + 6765 + 10946 + 28657 + 75025
30; 34 + 55 + 377 + 610 + 987 + 2584 + 4181 + 10946 + 28657 + 75025
31; 34 + 55 + 144 + 233 + 1597 + 121393
32; 34 + 55 + 144 + 233 + 1597 + 46368 + 75025
33; 34 + 55 + 144 + 233 + 1597 + 17711 + 28657 + 75025
34; 34 + 55 + 144 + 233 + 1597 + 6765 + 10946 + 28657 + 75025
35; 34 + 55 + 144 + 233 + 1597 + 2584 + 4181 + 10946 + 28657 + 75025
36; 34 + 55 + 144 + 233 + 610 + 987 + 121393
37; 34 + 55 + 144 + 233 + 610 + 987 + 46368 + 75025
38; 34 + 55 + 144 + 233 + 610 + 987 + 17711 + 28657 + 75025
39; 34 + 55 + 144 + 233 + 610 + 987 + 6765 + 10946 + 28657 + 75025
40; 34 + 55 + 144 + 233 + 610 + 987 + 2584 + 4181 + 10946 + 28657 + 75025
41; 13 + 21 + 55 + 377 + 1597 + 121393
42; 13 + 21 + 55 + 377 + 1597 + 46368 + 75025
43; 13 + 21 + 55 + 377 + 1597 + 17711 + 28657 + 75025
44; 13 + 21 + 55 + 377 + 1597 + 6765 + 10946 + 28657 + 75025
45; 13 + 21 + 55 + 377 + 1597 + 2584 + 4181 + 10946 + 28657 + 75025
46; 13 + 21 + 55 + 377 + 610 + 987 + 121393
47; 13 + 21 + 55 + 377 + 610 + 987 + 46368 + 75025
48; 13 + 21 + 55 + 377 + 610 + 987 + 17711 + 28657 + 75025
49; 13 + 21 + 55 + 377 + 610 + 987 + 6765 + 10946 + 28657 + 75025
50; 13 + 21 + 55 + 377 + 610 + 987 + 2584 + 4181 + 10946 + 28657 + 75025
51; 13 + 21 + 55 + 144 + 233 + 1597 + 121393
52; 13 + 21 + 55 + 144 + 233 + 1597 + 46368 + 75025
53; 13 + 21 + 55 + 144 + 233 + 1597 + 17711 + 28657 + 75025
54; 13 + 21 + 55 + 144 + 233 + 1597 + 6765 + 10946 + 28657 + 75025
55; 13 + 21 + 55 + 144 + 233 + 1597 + 2584 + 4181 + 10946 + 28657 + 75025
56; 13 + 21 + 55 + 144 + 233 + 610 + 987 + 121393
57; 13 + 21 + 55 + 144 + 233 + 610 + 987 + 46368 + 75025
58; 13 + 21 + 55 + 144 + 233 + 610 + 987 + 17711 + 28657 + 75025
59; 13 + 21 + 55 + 144 + 233 + 610 + 987 + 6765 + 10946 + 28657 + 75025
60; 13 + 21 + 55 + 144 + 233 + 610 + 987 + 2584 + 4181 + 10946 + 28657 + 75025
61; 5 + 8 + 21 + 55 + 377 + 1597 + 121393
62; 5 + 8 + 21 + 55 + 377 + 1597 + 46368 + 75025
63; 5 + 8 + 21 + 55 + 377 + 1597 + 17711 + 28657 + 75025
64; 5 + 8 + 21 + 55 + 377 + 1597 + 6765 + 10946 + 28657 + 75025
65; 5 + 8 + 21 + 55 + 377 + 1597 + 2584 + 4181 + 10946 + 28657 + 75025
66; 5 + 8 + 21 + 55 + 377 + 610 + 987 + 121393
67; 5 + 8 + 21 + 55 + 377 + 610 + 987 + 46368 + 75025
68; 5 + 8 + 21 + 55 + 377 + 610 + 987 + 17711 + 28657 + 75025
69; 5 + 8 + 21 + 55 + 377 + 610 + 987 + 6765 + 10946 + 28657 + 75025
70; 5 + 8 + 21 + 55 + 377 + 610 + 987 + 2584 + 4181 + 10946 + 28657 + 75025
71; 5 + 8 + 21 + 55 + 144 + 233 + 1597 + 121393
72; 5 + 8 + 21 + 55 + 144 + 233 + 1597 + 46368 + 75025
73; 5 + 8 + 21 + 55 + 144 + 233 + 1597 + 17711 + 28657 + 75025
74; 5 + 8 + 21 + 55 + 144 + 233 + 1597 + 6765 + 10946 + 28657 + 75025
75; 5 + 8 + 21 + 55 + 144 + 233 + 1597 + 2584 + 4181 + 10946 + 28657 + 75025
76; 5 + 8 + 21 + 55 + 144 + 233 + 610 + 987 + 121393
77; 5 + 8 + 21 + 55 + 144 + 233 + 610 + 987 + 46368 + 75025
78; 5 + 8 + 21 + 55 + 144 + 233 + 610 + 987 + 17711 + 28657 + 75025
79; 5 + 8 + 21 + 55 + 144 + 233 + 610 + 987 + 6765 + 10946 + 28657 + 75025
80; 5 + 8 + 21 + 55 + 144 + 233 + 610 + 987 + 2584 + 4181 + 10946 + 28657 + 75025
81; 2 + 3 + 8 + 21 + 55 + 377 + 1597 + 121393
82; 2 + 3 + 8 + 21 + 55 + 377 + 1597 + 46368 + 75025
83; 2 + 3 + 8 + 21 + 55 + 377 + 1597 + 17711 + 28657 + 75025
84; 2 + 3 + 8 + 21 + 55 + 377 + 1597 + 6765 + 10946 + 28657 + 75025
85; 2 + 3 + 8 + 21 + 55 + 377 + 1597 + 2584 + 4181 + 10946 + 28657 + 75025
86; 2 + 3 + 8 + 21 + 55 + 377 + 610 + 987 + 121393
87; 2 + 3 + 8 + 21 + 55 + 377 + 610 + 987 + 46368 + 75025
88; 2 + 3 + 8 + 21 + 55 + 377 + 610 + 987 + 17711 + 28657 + 75025
89; 2 + 3 + 8 + 21 + 55 + 377 + 610 + 987 + 6765 + 10946 + 28657 + 75025
90; 2 + 3 + 8 + 21 + 55 + 377 + 610 + 987 + 2584 + 4181 + 10946 + 28657 + 75025
91; 2 + 3 + 8 + 21 + 55 + 144 + 233 + 1597 + 121393
92; 2 + 3 + 8 + 21 + 55 + 144 + 233 + 1597 + 46368 + 75025
93; 2 + 3 + 8 + 21 + 55 + 144 + 233 + 1597 + 17711 + 28657 + 75025
94; 2 + 3 + 8 + 21 + 55 + 144 + 233 + 1597 + 6765 + 10946 + 28657 + 75025
95; 2 + 3 + 8 + 21 + 55 + 144 + 233 + 1597 + 2584 + 4181 + 10946 + 28657 + 75025
96; 2 + 3 + 8 + 21 + 55 + 144 + 233 + 610 + 987 + 121393
97; 2 + 3 + 8 + 21 + 55 + 144 + 233 + 610 + 987 + 46368 + 75025
98; 2 + 3 + 8 + 21 + 55 + 144 + 233 + 610 + 987 + 17711 + 28657 + 75025
99; 2 + 3 + 8 + 21 + 55 + 144 + 233 + 610 + 987 + 6765 + 10946 + 28657 + 75025
100; 2 + 3 + 8 + 21 + 55 + 144 + 233 + 610 + 987 + 2584 + 4181 + 10946 + 28657 + 75025
と一気に全部のフィボナッチ数での和に分解してくれました。
(従来の方法では3日は計算に要する時間がかかりそうです。)

また全部で100個の方法があることは、次の計算方法で求まるそうです。
123456=[1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0]
のZeckendorf表示から、これを0が続く数を10の指数に採用して
10^8*10^2*10^2*10^9
と表し
一般に10^dを次の2×2行列M(d)=[1 1]
[floor(d/2) ceil(d/2)] (floor;床関数、ceil;天井関数)

これにより上記の数は
M(8)*M(2)*M(2)*M(9)
= [1 1]*[1 1]^2*[1 1]
[4 4] [1 1] [4 5]

=[20 24]
[80 96]

最後にこの行列を[1 1],[1 0]~で挟み
[1 1]*[20 24]*[1]=[100]
[80 96] [0]
なる行列計算で処理できるという。(よくこんな方法を編み出すな~)

引用して返信編集・削除(編集済: 2022年07月28日 07:39)

私の方法は何も考えずに和が目的の数になる組合せを探すだけなので、
おそらくZeckendorf表示から分解するGAIさんの方法の方が速いでしょうね。

引用して返信編集・削除(未編集)

2乗してみたら・・・

皆さん夏バテでしょうか?
余りに投稿が更新されないので、心配してます。

いつも勝手に投稿させてもらって恐縮なんですが、いつも見る画面が同じのも
退屈なので、この頃気付いたことを載せてみます。

138901917
の9桁の自然数を平方すると
138901917^2=19293742546274889
なる18桁の値になるが奇数位に着目すると
     =[1]9[2]9[3]7[4]2[5]4[6]2[7]4[8]8[9]
と綺麗に1~9の数字が順番通りに並んでいく。

そこで今度は9桁のある数を平方して18桁の数字が並んだ時
奇数位、偶数位共に必ず1から9までの数字が一度は出現している(順番は問わない)
状態が起こるものを探していたら(結構多く286通りもあった。)
その中に元の9桁の数が偶数のdigitsばかり(0を含む)で構成されているものがただ一つ
存在している。
偶数ばかりの数字なのに、これほど多種の数字をバランス良く生み出していくことに驚きました。
ではその9桁の整数を見つけて下さい。

更にバージョンアップして
10桁の整数で(ただし0から9までの数字を必ず一つは含む)
それを平方すると20桁の数となり
奇数位、偶数位にはどちらも0から9までの数字が一度は出現しているという。
その10桁の数とは?

引用して返信編集・削除(編集済: 2022年07月22日 07:02)

一つ目は
660400884^2=436129327587981456
二つ目は
3284591706^2=10788542675123990436
と
3946751820^2=15576849928673312400
ですね。

引用して返信編集・削除(未編集)

さすがにらすかるさん
仕事が早いですね。
なお偶数だけのdigitsでの例で
4044044202^2=16354293507729816804
はたまたま検索に引っかかったのですが、すべてについては未調査です。
他に存在しますか?

引用して返信編集・削除(未編集)

あと一つだけありますね。
6604008840^2=43612932758798145600
最初の解の10倍です。

引用して返信編集・削除(編集済: 2022年07月22日 10:56)

では類題です。
2乗すると0~9がそれぞれ3個ずつ登場する30桁の数になるような15桁の数で、
「数字が2種類のみ」かつ「回文(桁を逆順に並べても同じ)」となっている数は?

引用して返信編集・削除(未編集)

寝掛けに投稿に気付いて、寝床でいろいろ方法を考えていた。
なかなか寝付けず、3時半ごろ起き上がりあれこれプログラムをどう組み上げていけばいいか
悪戦苦闘を繰り返す。
(例の15桁構成をくみ上げて行く手順に苦戦しました。中央部が2通りに分かれる可能性を持つ。)
何とか5時半ごろ、下のものにヒットしました。

677777767777776^2 = 459382702493824850617319506176

他のパターン(全部で8000通り近くある。)も調べましたが、これただ一例だけですよね。

引用して返信編集・削除(編集済: 2022年07月23日 06:37)

はい、正解です。
2種類の数字で構成される15桁の自然数で2乗すると0~9が3個ずつになるものは
(プログラムにバグがなければ)全部で23通りで、そのうちこの一つが
面白い形だったので出題しました。
888988889888889 や 822288882228888 も比較的面白い形ですね。
565656565656555 は惜しい。

引用して返信編集・削除(未編集)

奇遇のバランス

異なる正の整数a,b(a<b)を準備する。
これから次の規則で次々と数列を構成していくものとする。

aが第1項
bが第2項
a+bが第3項
第4項はそれまで構成した2つの数でただ一通りの和で作られる第3項を越える
最小の整数とする。
第5項はそれまで構成した2つの数でただ一通りの和で作られる第4項を越える
最小の整数とする。
以下同様にしていくものとする。

<例>
a=1;b=2ならその列U(a,b)は
1,2,3,4,6,8,11,13,16,・・・
なぜなら
4=1+3
5=1+4=2+3と2通りの和で構成されてしまうので5はこの数列には入らない。
6=2+4のみ
7=1+6=3+4
8=2+6のみ
9=1+8=3+6
10=2+8=4+6
11=3+8のみ
12=1+11=4+8
13=2+11のみ
・・・・


そこで、
U(2,3)の列を1000個並べたとすると、この中に偶数は何個含まれることになるでしょう?
また
U(2,5)ではどうなるか?




引用して返信編集・削除(未編集)

U(2,3)に関しては管理人さんが調べられた1000個中、偶数は492個(約半数)
が発生しますが、これがU(2,5)になると1000個中僅かに2,12のみの2個しか発生しないそうです。
実は、この先どこまでも進んでもこの2個しか現れないという。
しかもU(2,3)に関しては何ら規則が見当たらないが、U(2,5)に関してはこれで発生する数列を{a(n)}(n=1,2,3,・・・)
で表すと(A007300参照のこと)

a(n+32)-a(n)=126 (n=7,8,9,・・・)の関係式が生まれてくるという。
同じく
U(2,7)では
a(n+26)-a(n)=126 (n=8,9,10,・・・・)
U(2,9)では
a(n+444)-a(n)=1778 (n=9,10,11,・・・・)
U(2,11)では
a(n+1628)-a(n)=6510 (n=10,11,12,・・・・)
U(2,13)では
a(n+5906)-a(n)=23622 (n=11,12,13,・・・・)
U(2,15)では
a(n+80)-a(n)=510 (n=12,13,14,・・・・)
・・・・・・・・・・
以下
A100729; A100730; 等参照

この様に一般に
U(2,2*n+1)型での数列発生からは
n=1では奇数、偶数が大体平等に発生するも
n>=2では偶数は僅かに2個のみしか現れず、しかも2個目の偶数発生から以降での数列では
その階差は長いスパンで一定の規則で繰り返す現象になるという。
ルールは同じでも、初期値の設定条件でこんなにもその後の数の発生が異なってくることにビックリしました。
OEISのサイトでのリンクを辿って行ってみて思ったことでした。

何方か
U(4,4*n+1) (n=1,2,3,・・・)
での数列{a(n)}について、上記A100729; A100730;
に相当する数列を計算してもらえないですか?
たぶんこれはOEISには掲載されていないと思います。 
(一応n=1~5では調べてみましたが・・・・)

引用して返信編集・削除(未編集)

とりあえず50個
U(4,5): a[n+32]-a[n]=192 (n≧10)
U(4,9): a[n+88]-a[n]=640 (n≧14)
U(4,13): a[n+104]-a[n]=896 (n≧17)
U(4,17): a[n+248]-a[n]=2304 (n≧21)
U(4,21): a[n+280]-a[n]=2816 (n≧24)
U(4,25): a[n+304]-a[n]=3328 (n≧28)
U(4,29): a[n+320]-a[n]=3840 (n≧31)
U(4,33): a[n+712]-a[n]=8704 (n≧35)
U(4,37): a[n+776]-a[n]=9728 (n≧38)
U(4,41): a[n+824]-a[n]=10752 (n≧42)
U(4,45): a[n+856]-a[n]=11776 (n≧45)
U(4,49): a[n+896]-a[n]=12800 (n≧49)
U(4,53): a[n+928]-a[n]=13824 (n≧52)
U(4,57): a[n+952]-a[n]=14848 (n≧56)
U(4,61): a[n+968]-a[n]=15872 (n≧59)
U(4,65): a[n+2072]-a[n]=33792 (n≧63)
U(4,69): a[n+2200]-a[n]=35840 (n≧66)
U(4,73): a[n+2296]-a[n]=37888 (n≧70)
U(4,77): a[n+2360]-a[n]=39936 (n≧73)
U(4,81): a[n+2440]-a[n]=41984 (n≧77)
U(4,85): a[n+2504]-a[n]=44032 (n≧80)
U(4,89): a[n+2552]-a[n]=46080 (n≧84)
U(4,93): a[n+2584]-a[n]=48128 (n≧87)
U(4,97): a[n+2656]-a[n]=50176 (n≧91)
U(4,101): a[n+2720]-a[n]=52224 (n≧94)
U(4,105): a[n+2768]-a[n]=54272 (n≧98)
U(4,109): a[n+2800]-a[n]=56320 (n≧101)
U(4,113): a[n+2840]-a[n]=58368 (n≧105)
U(4,117): a[n+2872]-a[n]=60416 (n≧108)
U(4,121): a[n+2896]-a[n]=62464 (n≧112)
U(4,125): a[n+2912]-a[n]=64512 (n≧115)
U(4,129): a[n+6088]-a[n]=133120 (n≧119)
U(4,133): a[n+6344]-a[n]=137216 (n≧122)
U(4,137): a[n+6536]-a[n]=141312 (n≧126)
U(4,141): a[n+6664]-a[n]=145408 (n≧129)
U(4,145): a[n+6824]-a[n]=149504 (n≧133)
U(4,149): a[n+6952]-a[n]=153600 (n≧136)
U(4,153): a[n+7048]-a[n]=157696 (n≧140)
U(4,157): a[n+7112]-a[n]=161792 (n≧143)
U(4,161): a[n+7256]-a[n]=165888 (n≧147)
U(4,165): a[n+7384]-a[n]=169984 (n≧150)
U(4,169): a[n+7480]-a[n]=174080 (n≧154)
U(4,173): a[n+7544]-a[n]=178176 (n≧157)
U(4,177): a[n+7624]-a[n]=182272 (n≧161)
U(4,181): a[n+7688]-a[n]=186368 (n≧164)
U(4,185): a[n+7736]-a[n]=190464 (n≧168)
U(4,189): a[n+7768]-a[n]=194560 (n≧171)
U(4,193): a[n+7904]-a[n]=198656 (n≧175)
U(4,197): a[n+8032]-a[n]=202752 (n≧178)
U(4,201): a[n+8128]-a[n]=206848 (n≧182)

引用して返信編集・削除(未編集)

私が5個分の結果を知るために行った作業時間はたぶん2時間以上
これに対しらすかるさんは50個分の結果(数が大きくなるとそれだけ時間はかかると思うが・・・)
を難なく(最後のスパンは8128というと長さまで)示されていた。
これで私の2時間の作業も無駄ではなかった事が確認できてよかったです。
この結果は是非OEISへ登録してください。

このサイクル探しをプログラム的にやろうと試みていたのですが、どうしてもアルゴリズムが
難しく、その作業はほとんど手作業状態でした。

引用して返信編集・削除(未編集)

> 数が大きくなるとそれだけ時間はかかると思うが・・・

そうですね。U(4,201)は3秒程ですが、U(4,401)になると1分程かかります。
(U(4,5)~U(4,201)全部では50秒程)
(ちなみにU(4,401)はa[n+24320]-a[n]=823296 (n≧357)です)

> このサイクル探しをプログラム的にやろうと試みていたのですが、どうしてもアルゴリズムが
> 難しく、その作業はほとんど手作業状態でした。

サイクル探しは少し悩みましたが、うまい方法を思いつきました。
a[3],a[4],a[5],…を順次求めていくと同時に1つ前との差分
(a[3]-a[2],a[4]-a[3],a[5]-a[4],…)を計算します。
そして「今までの差分と比較して最大かどうか」
(最大の更新時だけでなく最大値との一致も含む)
を調べて、最大値の場合は「今までの最大値」を更新する
(変わらない場合もある)とともに、そのときの
インデックス(a[n]-a[n-1]のn)を記憶します。
そのうえで「前回記憶したインデックスとの差」を
覚えておき、この差が同じ値で連続して何回か(例えば5回)
続いたら、それを仮に周期とします。
そして今まで求めた数列に対してa[n+k]-a[n]=dがしばらく
一定で続いているかどうかをうしろから順に調べて、
OKならばそれが周期に確定します。
この方法では、もし一周期の中に差分が最大値になるものが
複数個あると周期が正しく求まらないという問題はありますが、
とりあえずU(4,201)まででそのような問題は発生しませんでした。

> この結果は是非OEISへ登録してください。

英語が苦手で登録には一苦労しますので、もしよろしければ
GAIさんの方で(GAIさんの名前で)登録して頂ければと思います。

引用して返信編集・削除(編集済: 2022年07月11日 08:54)

方程式と解

次の方程式の実数解をそれぞれ求めて下さい。

(1)x - √x - 1 = 0

(2)x - 1/√x - 2 = 0

(3)1/x - 1/(x-3) - 3 = 0

引用して返信編集・削除(未編集)

何の工夫もない解き方ですが

(1)
x-√x-1=0
x-1=√x (※)
x^2-2x+1=x
x^2-3x+1=0
x=(3±√5)/2
(※)からx≧1なので、
条件を満たす解はx=(3+√5)/2

(2)
x-1/√x-2=0
x-2=1/√x (※)
x^2-4x+4=1/x
x^3-4x^2+4x-1=0
(x^3-1)-4x(x-1)=0
(x-1)(x^2-3x+1)=0
x=1,(3±√5)/2
(※)からx≧2なので、
条件を満たす解はx=(3+√5)/2

(3)
1/x-1/(x-3)-3=0
(x-3)-x-3x(x-3)=0
x^2-3x+1=0
∴x=(3±√5)/2

引用して返信編集・削除(未編集)

指数探し

3^x+4^x=5^xを満たすx=?
と尋ねられるとx=2と答えられる。

では
(1) 2^x+3^x=4^xを満たすx=?
(2) 4^x+5^x=6^xを満たすx=?
(3) 4^x+6^x=9^xを満たすx=?

に対し(1),(2)はxを小数点以下16桁までを求め、(3)についてはxの明示式を示して下さい。

引用して返信編集・削除(編集済: 2022年07月05日 05:44)

(1)
f(x)=2^x+3^x-4^xとします。
f(1.5)=2√2+3√3-8≒0.02458>0、f(2)=4+9-16=-3<0なので
解は1.5と2の間、しかも1.5にかなり近い方にあることがわかります。
g(a,b)={af(b)-bf(a)}/{f(b)-f(a)} とします。
f(a)≒0,f(b)≒0,a≠bとなるようにa=1.5,b=1.6とします。
(※f(a)とf(b)の符号が異なる必要はありません)
計算は小数点以下20桁(以下四捨五入)とします。
g(1.5,1.6)=1.50641450252233033645→a
g(1.50641450252233033645,1.6)=1.50705566866716387863→b
g(1.50641450252233033645,1.50705566866716387863)=1.50712664860928688768→a
g(1.50712664860928688768,1.50705566866716387863)=1.50712659163409698130→b
g(1.50712664860928688768,1.50712659163409698130)=1.50712659163865313369→a
g(1.50712659163865313369,1.50712659163409698130)=1.50712659163865313399→b
16桁以上求まったので終了
∴x≒1.507126591638653134

(2)
f(x)=4^x+5^x-6^xとします。
f(2)=16+25-36=5、f(2.5)=32+25√5-36√6≒-0.28<0なので
解は2と2.5の間、しかも2.5にかなり近いほうにあることがわかります。
g(a,b)={af(b)-bf(a)}/{f(b)-f(a)} とします。
f(a)≒0,f(b)≒0,a≠bとなるようにa=2.4,b=2.5とします。
計算は小数点以下20桁(以下四捨五入)とします。
g(2.4,2.5)=2.48609166514948013282→a
g(2.48609166514948013282,2.5)=2.48790297657867599533→b
g(2.48609166514948013282,2.48790297657867599533)=2.48793928282775205771→a
g(2.48793928282775205771,2.48790297657867599533)=2.48793917311166965240→b
g(2.48793928282775205771,2.48793917311166965240)=2.48793917311817466637→a
g(2.48793917311817466637,2.48793917311166965240)=2.48793917311817466754→b
16桁以上求まったので終了
∴x≒2.48793917311817467

(3)
4^x+6^x=9^x
(2^x)^2+(2^x)(3^x)=(3^x)^2
(2^x)^2+(2^x)(3^x)-(3^x)^2=0
{2^(x+1)+(√5+1)(3^x)}{2^(x+1)-(√5-1)(3^x)}=0
2^(x+1)+(√5+1)(3^x)>0なので
2^(x+1)-(√5-1)(3^x)=0
2^(x+1)=(√5-1)(3^x)
(3/2)^x=2/(√5-1)=(√5+1)/2
∴x=log((√5+1)/2)/log(3/2)≒1.1868143902809817

引用して返信編集・削除(未編集)

g(a,b)={af(b)-bf(a)}/{f(b)-f(a)}
の式がこんな所で役立つんですね。
参考書には必ず上記の式を書き直す(=a-f(a)/f'(a) :as b→a)
問題が問われていた様に記憶していました。
つまりy=f(x)上での点(a,f(a))での接線がx軸と交わる座標
ひいてはその操作を繰り返すことによりf(x)=0の解xを導き出す
ニュートン法の活用に利用できるのか!

思ってもない手法で解決されていたのでとても参考になります。

引用して返信編集・削除(未編集)

この手法は何年か前に自分で考えたのですが、
今日検索してみたら既にありました(当然か…)。
https://ja.wikipedia.org/wiki/%E5%89%B2%E7%B7%9A%E6%B3%95
「割線法」または「セカント法」というらしいです。

引用して返信編集・削除(編集済: 2022年07月06日 19:26)

トランプマジックにおける数理

1.4枚のエースを選びテーブルに表向きに並べて出す。

2.そのそれぞれに任意の裏向きで3枚のカードを載せる。

3.客に赤いエースの2つのパケットを重ねて渡し、自由に思いっきりシャッフルさせる。
 (8枚のカードの中に2枚の表向きのエースがどの位置にきても構わない。)
 あなたも黒のエースのカード群を束ね、客と同様自由にシャッフルする。

4.客が渡すパケットを右手にもち、左手には自分がシャッフルしたパケットをひっくり返して
 保持する。(6枚の表向きカードと2枚の裏向きのエースカードの状態。)
 (客のパケットは6枚が裏向きで、2枚のエースは表向き。)

5.両手に持つパケットの上からテーブルに交互に一枚ずつのカード重ねながら置いていく。
 (表向きだったり、裏向きだったりするカードが重なっていく。)

6.出し終わったカードの束を整えて、客に任意の場所でカットさせる。
 (カットはシャッフルとは異なり、カード全体での円環的順序を変えない。)

7.それを受け取りテーブルに4列に一枚ずつ出して重ねていく。(各山4枚ずつ。)

8.4つの山に出来たカードの束で、右端の山をすべてひっくり返し、その左隣の山に重ねる。
 そして、その重ねた山の束全体をすべてひっくり返し、またその左隣の山に重ねる。
 そのことをもう一度繰り返し、4つあった山を一つのカードの束にする。

9.この重なったパケットをテーブルにリボンスプレッドした時、何が起きるかはご自身で
 確かめて下さい。

引用して返信編集・削除(未編集)

素因数分解の問題作り

27000001の因数分解で
27000001=27000000+1
=300^3+1^3
ここでa^3+b^3=(a+b)^3-3*a*b*(a+b)=(a+b)*((a+b)^2-3*a*b)
から3*a*bの部分が平方数となる場合で
この例でも
=301*(301^2-3*300*1)
=301*(301^2-30^2)
=301*(271)*(331)
=7*43*271*331

この様な3乗の和(N=a^3+b^3 しかも3*a*bが平方数)
で、上記のルートで素因数分解できるタイプの数Nを
10^7台に限って調査してみました。(全部で89個)
(2*10^7台では27000001も当然現れる。)

N [a , b]=最終の因数分解形
10021508[213,71]=2^2*7*71^3
10063872[192,144]=2^12*3^3*7*13
10077704[216,2]=2^3*7*13*109*127
10078208[216,8]=2^11*7*19*37
10083528[216,18]=2^3*3^6*7*13*19
10110464[216,32]=2^9*7^2*13*31
10202696[216,50]=2^3*7*19*43*223
10450944[216,72]=2^11*3^6*7
10706059[196,147]=7^7*13
10892476[219,73]=2^2*7*73^3
11018888[216,98]=2^3*31*157*283
11313512[224,42]=2^3*7^4*19*31
11346272[222,74]=2^5*7*37^3
11375000[200,150]=2^3*5^6*7*13
11390652[225,3]=2^2*3^3*7*13*19*61
11392353[225,12]=3^3*7^2*79*109
11410308[225,27]=2^2*3^6*7*13*43
11501217[225,48]=3^3*7*13*31*151
11812500[225,75]=2^2*3^3*5^6*7
11859211[228,19]=7*13*19^4
11904697[192,169]=7^2*19^2*673
12071241[204,153]=3^3*7*13*17^3
12110644[189,175]=2^2*7^4*13*97
12174848[216,128]=2^9*7*43*79
12291328[228,76]=2^8*7*19^3
12650337[225,108]=3^6*7*37*67
12782924[231,77]=2^2*7^4*11^3
12795328[208,156]=2^6*7*13^4
13287456[234,78]=2^5*3^3*7*13^3
13547807[212,159]=7*13*53^3
13805092[237,79]=2^2*7*79^3
13824125[240,5]=5^3*7^2*37*61
13832000[240,20]=2^6*5^3*7*13*19
13915125[240,45]=3^3*5^3*7*19*31
14172704[242,6]=2^5*7*13*31*157
14186312[242,24]=2^3*7*19*67*199
14329224[216,162]=2^3*3^9*7*13
14329952[242,54]=2^5*7^2*13*19*37
14336000[240,80]=2^14*5^3*7
14348908[243,1]=2^2*7*31*61*271
14348971[243,4]=7*13*19*43*193
14349636[243,9]=2^2*3^6*7*19*37
14353003[243,16]=7*37*151*367
14364532[243,25]=2^2*7*13*19*31*67
14395563[243,36]=3^6*7^2*13*31
14466556[243,49]=2^2*13*37*73*103
14567148[225,147]=2^2*3^3*19*31*229
14607424[196,192]=2^6*13*97*181
14611051[243,64]=7*13*307*523
14709500[245,15]=2^2*5^3*13*31*73
14880348[243,81]=2^2*3^12*7
14922125[245,60]=5^3*19*61*103
15057224[242,96]=2^3*7*13^2*37*43
15140125[220,165]=5^3*7*11^3*13
15348907[243,100]=7^3*73*613
15438304[246,82]=2^5*7*41^3
15652000[250,30]=2^5*5^3*7*13*43
15777125[240,125]=5^3*7*13*19*73
15981056[224,168]=2^9*7^4*13
16010036[249,83]=2^2*7*83^3
16012269[252,21]=3^3*7^4*13*19
16120468[243,121]=2^2*7*13*67*661
16595712[252,84]=2^8*3^3*7^4
16777243[256,3]=7*37*211*307
16778944[256,12]=2^6*7*13*43*67
16796899[256,27]=7*61*139*283
16852563[228,171]=3^3*7*13*19^3
16887808[256,48]=2^12*7*19*31
17166500[245,135]=2^2*5^3*13*19*139
17195500[255,85]=2^2*5^3*7*17^3
17199091[256,75]=7*13*331*571
17334891[243,144]=3^6*7*43*79
17353000[250,120]=2^3*5^3*7*37*67
17547488[242,150]=2^5*7^2*19^2*31
17755192[232,174]=2^3*7*13*29^3
17809568[258,86]=2^5*7*43^3
18036928[256,108]=2^6*7*13*19*163
18077696[216,200]=2^11*7*13*97
18410392[264,22]=2^3*7*11^3*13*19
18438084[261,87]=2^2*3^3*7*29^3
18468513[225,192]=3^3*7*19*37*139
18689489[236,177]=7*13*59^3
19081216[264,88]=2^11*7*11^3
19175716[243,169]=2^2*7*61*103*109
19656000[240,180]=2^6*3^3*5^3*7*13
19684000[270,10]=2^5*5^3*7*19*37
19739132[267,89]=2^2*7*89^3
19747000[270,40]=2^3*5^3*7^2*13*31
19953739[256,147]=13*31*67*739

なお大学入試に手計算で次の数を素因数分解させるものが
出題されていました。
N=12345654321

引用して返信編集・削除(編集済: 2022年06月23日 07:50)

因数分解

N0=110001011
N1=11111111
N2=11112121
N3=133113133
N4=14141441
N5=15151515115
N6=11611661
N7=17171111
N8=1811811818
N9=191111911
は手計算で因数分解できるものなのか?

引用して返信編集・削除(未編集)

とりあえず瞬殺できるものから。

N1 = 11111111 = 1111*10001 = 11*101*10001
さて、GAI さんがこれで終わるだけの面白みのない問題を出すとは思えないので、10001 は合成数、それもそこそこ大きな素数の積だと信じることにします。

10001 を 2 つの自然数の積で書くと考えると、その相乗平均は √10001 で 100 よりわずかに大きい数です。
また、10001 は 4 で割ると 1 余る数なので、これが 2 つの数の積であるならばそれは 4 で割ると 1 余る数同士の積か、あるいは 4 で割ると 3 余る数同士の積。
つまり、その 2 つの数の和は 4 で割ると 2 余ります。
これら 2 つの情報に、どちらもそこそこ大きな素因数という情報を追加すると、2 数の相加平均は 100 より少し大きい奇数であるとわかります。
ということで、これを 101+2k と書くことにします。

すると 2 つの数を解に持つ二次方程式は
x^2 - 2(101+2k)x + 10001 = 0
となり、その判別式は
D/4 = (101+2k)^2 - 10001 = 4k^2 + 404k + 200 = 4(k^2+101k+50)
あとはこの括弧内が平方数になるような k の値を小さい順に試しながら探せばよく、
k=1 のとき 152 は平方数ではない
k=2 のとき 256 は平方数
とすぐにみつかります。

2 数の相加平均が 105 ということは和は 210 で、積が 10001 なのですから、差は
√(210^2-4*10001) = √4096 = 64
つまり 2 数は 105 + 32 = 137 と 105 - 32 = 73

以上より、N1 = 11111111 = 11*73*101*137

引用して返信編集・削除(未編集)

同じやり方でもう 1 つ。
N2 = 11112121 = 11111111+1010
と考えると、N1 の結果と合わせてこれが 101 の倍数であることは明らかで、
N2 = 11112121 = 101*110021

開平法を使って頑張れば √110021≒331.7 で、ということは 2 数の相加平均は 331 より少し大きい奇数なので 331+2k とおいて、同様に進めて、
D/4 = (331+2k)^2 - 110021 = 4(k^2+331k-115)
この括弧内が平方数になる k を探します。

k=1 のとき 217 は平方数ではない
k=2 のとき 551 は平方数ではない
k=3 のとき 887 は平方数ではない
k=4 のとき 1225 は平方数

2 数の相加平均が 339 で、和が 678、積が 110021 なので、差は
√(678^2-4*110021) = √19600 = 140
つまり 2 数は 339 + 70 = 409 と 339 - 70 = 269

以上より N2 = 11112121 = 101*269*409
一応 19 以下の素数で割ってみて、これが全部素数と確認して終了。

引用して返信編集・削除(未編集)

N7 もいけるかと思いましたが、170011 の処理がこの方法では無理そうですね。
2 つの数がおそらく倍以上差があるようで、この方法ではちょっと厳しい。
さあどうしようかな。

引用して返信編集・削除(未編集)

f(k)=(412+2k)^2-170011とすると
f(k)=4k^2+1648k-267
kが偶数のときf(k)≡5(mod8)となるが
mod8での平方剰余は0,1,4だけなので平方数にならない。
k=2m-1とするとf(k)=g(m)=16m^2+3280m-1911
m≡0,1,2,3,4,5,6,7,8に対してg(m)≡6,8,6,0,8,3,3,8,0(mod9)だが
mod9での平方剰余は0,1,4,7だけなので
平方数になる可能性があるのはm≡3,8(mod9)のときのみ。
m≡3(mod9)のときm=9t-6とおくと
g(m)=h(t)=1296t^2+27792t-21015
h(1)=8073, h(2)=39753は一の位が3なので平方数ではない。
h(3)=74025が平方数ならば27^2=729,28^2=784からh(3)=275^2でなければ
ならないが、275^2=75625なのでh(3)は平方数ではない。
h(4)=110889が平方数ならば33^2=1089,34^2=1156から
h(4)=333^2または337^2でなければならないが、333^2=110889なので
h(4)は平方数。
(たまたま見つかったのでm≡8(mod9)は考える必要がなくなった)
t=4→m=30→k=59→412+2k=530なので
170011=530^2-333^2とわかる。以下略。

引用して返信編集・削除(未編集)
合計503件 (投稿108, 返信395)

ロケットBBS

Page Top