2009年12月17日木曜日

60分かかった

このエントリーをはてなブックマークに追加
10分でコーディング|プログラミングに自信があるやつこい!!
http://ameblo.jp/programming/entry-10001721422.html

LDCにもPostしたけど、今日ふと思いついてもっとシンプルなコードができたので修正。
修正には10分も掛からなかったけど、この記事を書いてる時間を含めてトータル60分と言うことでw

考え方はシンプル。
もらったカードの数で割れる数字(=limit)まで計算して、後は順番に配るだけ。
余りを計算する事で、配る数値(例えば、numが3だった場合、0~2)を計算して出してるのが余計なループとかを省くポイント。

最初は+=で表現しようと思ったけどうまく行かなかったので、三項演算子でごまかしてる。
邪道な書き方なのでしょーがない。

も・ち・ろ・ん・I・E・非・対・応・!

まあでも僕はツンデレだから、↓のフォームはIEでも動くよ。







<html>
<head>
<title>test</title>
<script type="text/javascript">
window.addEventListener("load",function(){ init(); }, false );
var init = function(){
document.getElementById("fire").addEventListener("click",function(){
var num = document.getElementById("num").value;
var cards = document.getElementById("cards").value;
var card_sprit = new Array();
var limit = cards.length - (cards.length % num);
for( var i=0; i<limit; i++ ){
card_sprit[i%num] = (i<num) ? cards[i] : card_sprit[i%num]+cards[i];
}
document.getElementById("result").innerHTML = "resuluts: " + card_sprit;
}, false );
}
</script>
</head>
<body>
<input size="40" id="num" type="text" value="3" /><br>
<input size="40" id="cards" type="text" value="123123123" /><br>
<input id="fire" type="button" value="calc" />
<div id="result"></div>
</body>
</html>

0 件のコメント :

コメントを投稿