Skip to content

Instantly share code, notes, and snippets.

@phstc
Created February 15, 2011 18:49
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save phstc/827992 to your computer and use it in GitHub Desktop.
Save phstc/827992 to your computer and use it in GitHub Desktop.
Coding Dojo de Python no Google SP 10/02/2011 / Versão em Javascript.
<html>
<head>
<script src="http://code.jquery.com/jquery-latest.js"></script>
<link rel="stylesheet" href="http://github.com/jquery/qunit/raw/master/qunit/qunit.css" type="text/css" media="screen" />
<!--
Problema: Mijões
Objetivo dados X mictórios e Y mijões, retorne um array contendo VAZIO e MIJAO.
Sendo que os mijões devem ser alocados de forma mais distante possível.
Solução: Matemática elementar
Exemplo
10 mictorios, 5 mijões
REGRA: Sempre colocar um mijão no começo e outro no fim da lista
[0] = MIJAO
[9] = MIJAO
Agora de 2 em 2 (2 é o multiplicador de 5 para 10)
[0] = MIJAO # 1 - sempre no começo
[1] = VAZIO # 2
[2] = MIJAO # 1 - coloca mijão
[3] = VAZIO # 2
[4] = MIJAO # 1 - coloca mijão
[5] = VAZIO # 2
[6] = MIJAO # 1 - coloca mijão
[7] = VAZIO # 2
[8] = VAZIO # acabou mijões
[9] = MIJAO # sempre no fim
O mesmo funcionária para 10 mictorios e 3 mijões 3.33333333333333 arredonda para baixo
[0] = MIJAO
[1] = VAZIO
[2] = VAZIO
[3] = MIJAO
[4] = VAZIO
[5] = VAZIO
[6] = MIJAO
[7] = VAZIO
[8] = VAZIO
[9] = MIJAO
-->
<script type="text/javascript" src="http://github.com/jquery/qunit/raw/master/qunit/qunit.js"></script>
<script>
// Documentação do QUnit - http://docs.jquery.com/Qunit#API_documentation
// Objetivo dados um número de mictórios X e Y mijões, retorne um array contendo VAZIO e MIJAO
// Sendo que os mijões devem ser alocados de forma mais distante possível
// 5 mictorios, 2 mijoes = [MIJAO, VAZIO, VAZIO, VAZIO, MIJAO]
// 5 mictorios, 3 mijoes = [MIJAO, VAZIO, MIJAO, VAZIO, MIJAO]
var VAZIO = 1;
var MIJAO = 0;
var Mictorio = {
getMictorios: function(mictorios, mijoes){
return [VAZIO];
}
};
$(document).ready(function(){
test("test 1 mictorio 0 mijao", function() {
var mictorios = Mictorio.getMictorios(1, 0);
deepEqual(mictorios, [VAZIO]);
});
test("test 1 mictorio 1 mijao", function() {
var mictorios = Mictorio.getMictorios(1, 1);
deepEqual(mictorios, [MIJAO]);
});
test("test 2 mictorios 1 mijao", function() {
var mictorios = Mictorio.getMictorios(2, 1);
deepEqual(mictorios, [MIJAO, VAZIO]);
});
test("test 2 mictorios 2 mijoes", function() {
var mictorios = Mictorio.getMictorios(2, 2);
deepEqual(mictorios, [MIJAO, MIJAO]);
});
test("test 5 mictorios 2 mijoes", function() {
var mictorios = Mictorio.getMictorios(5, 2);
deepEqual(mictorios, [MIJAO, VAZIO, VAZIO, VAZIO, MIJAO]);
});
test("test 5 mictorios 3 mijoes", function() {
var mictorios = Mictorio.getMictorios(5, 3);
deepEqual(mictorios, [MIJAO, VAZIO, MIJAO, VAZIO, MIJAO]);
});
});
</script>
</head>
<body>
<h1 id="qunit-header">QUnit example</h1>
<h2 id="qunit-banner"></h2>
<div id="qunit-testrunner-toolbar"></div>
<h2 id="qunit-userAgent"></h2>
<ol id="qunit-tests"></ol>
<div id="qunit-fixture">test markup, will be hidden</div>
<div id="cccc"></div>
</body>
</html>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment