5
AdamNタイルを印刷する
Adam7は、PNGなどのラスターイメージ用のインターレースアルゴリズムです。Adam M. Costelloによって発明されたため、「Adam7」アルゴリズムと呼ばれ、特定のパターンを7回たどることによって生成されます。コードゴルフを本当に楽しくするAdam7アルゴリズムの素晴らしい点の1つは、パターンが奇数である限り、任意の回数だけ繰り返すことができることです。1996年にPNG標準が開発されたとき、9回の反復は複雑すぎ、5回の反復は効率的ではなかったため、7回の反復で十分であると見なされていました。 タイルの最初の反復は次のとおりです。 a ものすごく単純。これは「Adam1」タイルです。次の反復である「Adam3」タイルに到達する方法を次に示します。 最後のタイルがだったので1x1、高さと幅が2倍になり、次のタイルはになります2x2。まず、左上隅の「a」から始めます。 a- -- ステップ2、このパターンを右にコピーし、現在の文字を1つ増やします。 ab -- ステップ3、ステップ2と同じですが、右ではなく下にコピーします。 ab cc ブーム。「Adam3」タイル。「Adam5」も実行してみましょう。実際にアルゴリズムがどのように機能するかを確認できます。このタイルもまた2倍の大きさになり4x4ます。繰り返しますが、a左上隅のから始めます。 a--- ---- ---- ---- このパターンを2倍にし、文字を増やして、右に移動します。 a-b- ---- ---- ---- 繰り返しますが、今回はダウンします。 a-b- ---- c-c- ---- 繰り返しますが、今回は右側です。 adbd ---- cdcd ---- 繰り返しますが、今回はダウンします。 adbd eeee cdcd eeee これが「Adam5」タイルです。Adam7タイルのASCII表現は次のとおりです。 afdfbfdf gggggggg efefefef gggggggg cfdfcfdf gggggggg efefefef gggggggg そして、ここに、Adam7タイルの各ステップの楽しいアニメーションがあります(ただし、いくつかのタイルを並べて実行します)。 …