Sébastien Adam en clair

Solution d'exercice - JavaScript

<<< Retour énoncés

Exercice JavaScript 11 :

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<title>Page de test pour JavaScript</title>
</head>
<body>
<h1>Page de test pour JavaScript</h1>
<script language="javascript" type="text/javascript">
<!--
function iterCollatz(seed)
  {
  if((seed%2) == 0)
    return (seed/2)
  else
    return (seed*3+1)
  }

function displayRow(seqInit, seqNumElements, strSeq)
  {
  document.writeln("<tr><td>"+seqInit+"</td><td>"+seqNumElements+"</td><td>"+strSeq+"</td></td>")
  }

var index
var intSeqInit
var iterNext
var seqNum
var seqNumElements
var strSeq
var sum

var strSeqStart = prompt("Donnez un entier de départ pour la conjecture de Collatz:", "")
var strNumSeq   = prompt("Donnez le nombre de séquence que vous désirez:", "")

document.writeln("<table border=\"1\">")
document.writeln("<tr><td>Départ</td><td>Nbre éléments</td><td>Séquence</td></td>")
for(seqNum = 0; seqNum < strNumSeq; ++seqNum)
  {
  intSeqInit = parseInt(strSeqStart) + seqNum
  if(intSeqInit <= 0)
    {
    strSeq = "Nombre de départ invalide."
    seqNumElements = 0
    displayRow(intSeqInit, seqNumElements, strSeq)
    break
    }
  if(intSeqInit == 1)
    {
    strSeq = "1"
    seqNumElements = 1
    displayRow(intSeqInit, seqNumElements, strSeq)
    break
    }
  iterNext = intSeqInit
  strSeq = iterNext+", "
  seqNumElements = 1
  do
    {
    iterNext = iterCollatz(iterNext)
    if(iterNext == 1)
      strSeq += iterNext
    else
      strSeq += iterNext+", "
    ++seqNumElements
    }
  while(iterNext != 1)
  displayRow(intSeqInit, seqNumElements, strSeq)
  }
document.writeln("</table>")
//-->
</script>
<noscript>
<p align="justify"><font color="red"><b>L'affichage de cette page nécessite l'activation du JavaScript.</b></font></p>
</noscript>
</body>
</html>

Pour voir le résultat, cliquez -> ici <-.

Ce site est optimisé pour Mozilla FireFox. L'affichage n'est pas garanti pour votre navigateur. Pour plus d'informations, cliquez -> ici <-.


© Sébastien Adam 1996 ~ 2010 - http://www.sebastienadam.be/ - Le contenu de ce site est soumis à licence. Gestionnaire du site