NestWhile

NestWhile[f,expr,test]

expr で開始し,その結果に test を適用してもTrueではなくなるまで f を反復適用する.

NestWhile[f,expr,test,m]

各ステップで最新の m 個の結果を test の引数として与える.

NestWhile[f,expr,test,All]

各ステップでそれまでのすべての結果を test の引数として与える.

NestWhile[f,expr,test,m,max]

f を最大 max 回適用する.

NestWhile[f,expr,test,m,max,n]

fn 回余分に適用する.

NestWhile[f,expr,test,m,max,-n]

fn 個だけ少なく適用されたときの結果を返す.

詳細

  • NestWhile[f,expr,test]は,test を適用してもTrueとならないような最初の式 f[f[ f[expr]]]を返す.
  • test[expr]Trueではなくなると,NestWhile[f,expr,test]expr を返す. »
  • NestWhile[f,expr,test,m]は,各ステップで test[res1,res2,,resm]を評価する.結果の resiはリストには置かない. »
  • resiは,最新のものが最後になるように,生成された順序で与えられる.
  • NestWhile[f,expr,test,m]は,少なくとも m 個の結果が生成されるまで test の適用は開始しない.
  • NestWhile[f,expr,test,{mmin,m}]は,少なくともmmin個の結果が生成されるまで test の適用は開始しない.各ステップで最大 m 個の最新の結果を引数として test に供給する. »
  • NestWhile[f,expr,test,m]は,NestWhile[f,expr,test,{m,m}]に等価である. »
  • NestWhile[f,expr,UnsameQ,2]は,FixedPoint[f,expr]に等価である. »
  • NestWhile[f,expr,test,All]は,NestWhile[f,expr,test,{1,Infinity}]に等価である. »
  • NestWhile[f,expr,UnsameQ,All]は,同じ結果が2度目に現れるまで f を適用し続ける.
  • NestWhile[f,expr,test,m,max,n]は,test が失敗するかまたはmax 回の適用を施した後,f を余分に n 回適用する. »
  • NestWhile[f,expr,test,m,max,-n]は,Part[NestWhileList[f,expr,test,m,max],-n-1]に等価である. »
  • NestWhile[f,expr,test,m,Infinity,-1]は,可能なら testTrueとなるような列,expr, f[expr], f[f[expr]], の最後の式を返す.

例題

すべて開くすべて閉じる

  (2)

結果が偶数ではなくなるまで2で分割し続ける:

結果が正ではなくなるまで対数を取って反復させる:

スコープ  (5)

生成された最後の2つの値を比較する:

常に生成されたすべての値を比較する:

4回反復した後に比較を始め,最後の4つの値を使って比べる:

4回反復した後に比べ始め,最後の6つの値を使って比べる:

たとえテストがまだTrueであっても,最高で4回反復した後で停止する:

一般化と拡張  (2)

結果が1より大きくなくなるまで続ける:

条件がTrueではなくなってからもう1ステップ行う:

条件がTrueである最後の値を返す:

アプリケーション  (3)

888以降で最初の素数を求める:

888以降の最初の双子素数を求める:

100万以降の最初のフィボナッチ数の指数を求める:

100万より小さい最後のフィボナッチ数の指数を求める:

特性と関係  (5)

次の2つの形式は等しい:

NestWhileは,条件がTrue以外のものを返した場合に戻る:

条件の結果はTrueまたはFalseではなくてもよい:

FixedPointは,常に最後の2つの値を比べる.次の2つの形式は等しい:

NestWhileListは同じ停止基準を適用するが,生成されたすべての値を返す:

NestWhileWhileループを使って表すことができる:

Wolfram Research (1999), NestWhile, Wolfram言語関数, https://reference.wolfram.com/language/ref/NestWhile.html.

テキスト

Wolfram Research (1999), NestWhile, Wolfram言語関数, https://reference.wolfram.com/language/ref/NestWhile.html.

CMS

Wolfram Language. 1999. "NestWhile." Wolfram Language & System Documentation Center. Wolfram Research. https://reference.wolfram.com/language/ref/NestWhile.html.

APA

Wolfram Language. (1999). NestWhile. Wolfram Language & System Documentation Center. Retrieved from https://reference.wolfram.com/language/ref/NestWhile.html

BibTeX

@misc{reference.wolfram_2024_nestwhile, author="Wolfram Research", title="{NestWhile}", year="1999", howpublished="\url{https://reference.wolfram.com/language/ref/NestWhile.html}", note=[Accessed: 22-November-2024 ]}

BibLaTeX

@online{reference.wolfram_2024_nestwhile, organization={Wolfram Research}, title={NestWhile}, year={1999}, url={https://reference.wolfram.com/language/ref/NestWhile.html}, note=[Accessed: 22-November-2024 ]}