/* stohr.js

   Calculs des termes des suites de Stöhr

   Copyright (C) Jean-Paul Davalan 2003-2005 jpdvl@wanadoo.fr

   http://perso.wanadoo.fr/jean-paul.davalan/mots/suites/stohr/index.html
   http://perso.wanadoo.fr/jean-paul.davalan/mots/suites/stohr/index-en.html
   
  */ 
var MaxL=60;
var m = new Array(), // m[i] : majorant de j pour t[i][j]
    maxi,            // valeur maxi atteinte par la suite
    h,               // somme d'au plus h termes
    n,               // rang du dernier terme désiré de la suite
    u = new Array(), // termes de la suite
    cur,             // rang des différences
    tdif=new Array();// tableau des différences

function effectue() { 
  var k;
  h = parseInt(document.frm.h.value);
  if(h<2) return;
  n=parseInt(document.frm.n.value);  // jusqu'à n
  
  var a=1;
  for(i=0;i<=h;i++) {
    u[i] = a; 
    a = a*2;
  }
  a = a/2 -1;
  for(i=h+1;i<=n;i++) {
    u[i] = u[i-1] + a;
  }
  affiche();
}
/*
    affiche()
    affiche les termes de la suite
 */ 
function affiche() {
  var i, s="", s1=""+u[0], s2;
  for(i=0;i<=n;i++) tdif[i] = u[i];
  cur = n;
  for(i=1;i<=n;i++) {
    s2 = s1+" "+u[i];
    if(s2.length >60) {
      s = s+s1+"\n";
      s1=""+u[i];
    } else s1 = s2;
  }
  s = s+s1+"\n";
  document.frm.o.value=s;
}


function efface() {
//  document.frm.a.value = "";
  document.frm.h.value = "";
  document.frm.n.value = "";
  document.frm.o.value = "";
}

function diff() {
  var i, d, s = "", s1=" ", s2;
  for(i=0;i<cur;i++) {
    tdif[i]=tdif[i+1]-tdif[i];
    s2 = s1+tdif[i]+" ";
    if(s2.length > MaxL) {
      s = s + s1 + "\n";
      s1= tdif[i]+" ";
    } else s1 = s2;
  }
  cur = cur-1;
  s = s+s1+"\n";
  document.frm.o.value=s;  
}

function exo(a,b) {
  document.frm.h.value = a;
  document.frm.n.value = b;
  document.frm.o.value = "";
  effectue();
}

