Sequences - Xref - Sequences - recaman


App: regression/framework Page: sequence/a_formula_type_answers_every_position_from_its_formula
PHP
HTML
sequence/a_formula_type_answers_every_position_from_its_formula.pad
Result
[{echo sequence:prime(78499)}][{echo sequence:prime(100000)}][{echo sequence:square(500000)}][{echo sequence:totient(300000)}][{echo sequence:polite(999990)}][{echo sequence:prime(1229)}][{echo sequence:recaman(12)}][{echo sequence:bell(3)}]

App: regression/framework Page: sequence/a_recaman_membership_check_finds_values_that_come_back_late
PHP
HTML
sequence/a_recaman_membership_check_finds_values_that_come_back_late.pad
Result
[{sequence '1..40', keep, recaman}{$sequence} {/sequence}][{sequence '19;61', flag, recaman}{$sequence}{/sequence}][{sequence recaman, from=99735, rows=1}{$sequence}{/sequence}][{sequence '99508;199508;99507;199509', flag, recaman}{$sequence}{/sequence}][{sequence recaman, rows=12}{$sequence} {/sequence}][{sequence '-1;0;2.5', flag, recaman}{$sequence}{/sequence}]

App: regression/framework Page: sequence/every_counted_sequence_has_no_term_below_its_first_position
PHP
HTML
sequence/every_counted_sequence_has_no_term_below_its_first_position.pad
Result
[{sequence catalan, from=-2, rows=3}{$sequence} {/sequence}][{sequence gould, from=-1, rows=3}{$sequence} {/sequence}][{sequence sylvester, from=-1, rows=3}{$sequence} {/sequence}][{sequence recaman, from=-1, rows=3}{$sequence} {/sequence}][{sequence caterer, from=-2, rows=3}{$sequence} {/sequence}][{sequence '-2..2', make, catalan}{$sequence} {/sequence}][{sequence '-1..3', make, recaman}{$sequence} {/sequence}]

App: regression/framework Page: sequence/every_type_takes_build_bool_and_build_function
PHP
HTML
sequence/every_type_takes_build_bool_and_build_function.pad
Result
[{sequence fibonacci, build='bool', rows=10}{$sequence} {/sequence}][{sequence fibonacci, build='function', rows=10}{$sequence} {/sequence}][{sequence recaman, build='bool', to=20}{$sequence} {/sequence}][{sequence kolakoski, build='bool', to=5}{$sequence} {/sequence}][{sequence list='5;2;8', build='bool', to=10}{$sequence} {/sequence}][{sequence perfect, build='bool', to=500}{$sequence} {/sequence}][{sequence 6, push='s'}{pull:s build='bool', fibonacci}{$sequence} {/pull:s}]

App: regression/framework Page: sequence/recaman
PHP
HTML
sequence/recaman.pad
Result
{sequence recaman, rows=8}
{$sequence},
{/sequence}

App: regression/framework Page: sequence/recaman_and_newmanConway_end_a_run_past_the_terms_they_make
PHP
HTML
sequence/recaman_and_newmanConway_end_a_run_past_the_terms_they_make.pad
Result
[{sequence recaman, from=100000000, to=200000000}{$sequence} @else@none{/sequence}][{sequence newmanConway, from=100000000, stop=5}{$sequence} @else@none{/sequence}][{sequence '5;1000001;6', make, recaman}{$sequence} {/sequence}][{sequence '5;1000001;6', make, newmanConway}{$sequence} {/sequence}]

App: regression/framework Page: sequence/recaman_keeps_its_history_between_terms
PHP
HTML
sequence/recaman_keeps_its_history_between_terms.pad
Result
[{sequence recaman, rows=20000, try=20000, last}{$sequence}{/sequence}][{sequence recaman, from=19998, rows=3}{$sequence} {/sequence}][{sequence recaman, rows=13}{$sequence} {/sequence}]

App: regression/framework Page: sequence/recaman_makes_no_term_past_the_run_ceiling
PHP
HTML
sequence/recaman_makes_no_term_past_the_run_ceiling.pad
Result
[{sequence recaman, from=100000000, rows=1}{$sequence}@else@none{/sequence}][{sequence recaman, from=999999, rows=2}{$sequence} {/sequence}]

App: sequence Page: basic/recaman

App: sequence Page: gallery
PHP
gallery.php
HTML
gallery.pad
Result
<?php

// The gallery: every sequence type that needs no parameter, its first 24 terms drawn as a
// {sparkline}, the first eight written out, and the OEIS entry the terms come from - a
// link to oeis.org, found in the table the oeis type reads (seqFunOeis in _lib/fun.php).

$drawn = [];

foreach (
seqFunTypes () as $type ) {

$terms = seqFunTerms ( $type, 24 );
$oeis = seqFunOeis ( $terms, $type );

$drawn [] = [
'type' => $type,
'first' => implode ( ', ', array_slice ( $terms, 0, 8 ) ),
'oeis' => $oeis ? sprintf ( 'A%06d', $oeis ) : ''
];

}

?>
<p>Every sequence type that needs no parameter, its first 24 terms drawn by
<code>{sparkline sequence=$type, rows=24}</code>, beside the
<a href="https://oeis.org">OEIS</a> entry the terms come from. Follow a name to hear it.</p>

<table cellpadding="4">
{drawn}
<tr>
<td align="right"><a href="?listen&type={$type}">{$type}</a></td>
<td>{sparkline sequence=$type, rows=24}</td>
<td align="left"><small>{$first}, ...</small></td>
<td>{if $oeis ne ''}<a href="https://oeis.org/{$oeis}">{$oeis}</a>{/if}</td>
</tr>
{/drawn}
</table>

App: sequence Page: listen
PHP
listen.php
HTML
listen.pad
Result
<?php

// Listen: a sequence played as notes. Each of the first 32 terms becomes a note - the
// term modulo 60, five octaves up from C2, the way the OEIS 'listen' button folds a term
// into the keyboard - and the notes are written as a WAV file into the page itself
// (seqFunWav in _lib/fun.php), so an <audio> element plays them without JavaScript.
// Recamán's sequence, which jumps back and forth, is the famous one to listen to.
//
// type arrives from the query string and is used only when it names a type the gallery
// draws.

$choices = seqFunTypes ();

if ( ! isset (
$type ) or ! is_string ( $type ) or ! in_array ( $type, $choices ) )
$type = 'recaman';

$terms = seqFunTerms ( $type, 32 );
$oeis = seqFunOeis ( $terms, $type );
$oeis = $oeis ? sprintf ( 'A%06d', $oeis ) : '';
$list = implode ( ', ', $terms );
$notes = implode ( ' ', array_map ( 'seqFunNoteName', seqFunNotes ( $terms ) ) );
$audio = seqFunWav ( $terms );

?>
<p>{choices}{notFirst} | {/notFirst}{if $choices eq $type}<b>{$choices}</b>@else@<a href="?listen&type={$choices}">{$choices}</a>{/if}{/choices}</p>

<h3>{$type | ucfirst}{if $oeis ne ''} - <a href="https://oeis.org/{$oeis}">{$oeis}</a>{/if}</h3>

{chart 'line', data='terms', title='{$type | ucfirst}, the first 32 terms', width=640, height=220}

<p><audio controls preload="none" src="{$audio}"></audio></p>

<p>Each term is a note: the term modulo 60, counted in semitones up from C2.</p>

<p><small>{$list}</small></p>

<p><small>{$notes}</small></p>

App: sequence Page: play/single/recaman

App: sequence Page: sequences
PHP
sequences.php
HTML
Result
<?php

echo "{table}";

echo
str_pad ( "{demo}{sequence}", 38) . "{\$sequence} {/sequence} {/demo}";

foreach (
types () as $type ) {

$parm = pqParm ( $type );

if (
$type == 'oeis' ) $gox = "oeis=87";
elseif (
$type == 'list' ) $gox = "list='1;8;5;2;9;66'";
elseif (
$type == 'range' ) $gox = "range='1..10'";
elseif (
$type == 'eval' ) $gox = "eval='@ * 10 | @ - 1'";
elseif (
$type == 'random' ) $gox = 'random, maximal=99';
else
$gox = "$type$parm";

echo
str_pad ( "{demo}{sequence $gox}", 38) . "{\$sequence} {/sequence} {/demo}";

}

echo
"{/table}";

?>

App: sequence Page: specials/named

App: sequence Page: types/recaman