こんなパズルがあるそうです。
「3桁÷2桁=2桁あまり2桁」となる計算で、1から9までの数字をすべて使う場合を見つけろ。
例を挙げると「589 ÷ 46 = 12 あまり 37」。数字が9個ありますが1から9までの数字がすべて使われています。
このようなケースが他にもあるのですべて見つけろ、というわけです。
算数的、数学的に解けるのかもしれませんが、コンピューター的に解いてみました。つまり「しらみつぶし法」です。
JavaScriptで書きました。
続きを読む…
自分のウェブサイトのタイトルとURLをTwitterに投稿するための「リンク」は次のように書きます。
<a href="javascript:(function(){window.open('http://twitter.com/home/?status=' + '〈' + document.title + '〉' + document.location.href)})()">Twitterに投稿</a>
そして、この「リンク」を右クリックしてブックマークに登録するとブックマークレットになります。この場合は自分のウェブサイトでなくても使えます。
Twitterに投稿
ウェブサイトのテキストボックスに文字列をセットしたり、リストボックスの選択肢を選んだりすることがありますが、いつも同じページで同じ作業をするのは苦痛です。
ブックマークレットを使うと自動化することができます。
ここではブックマークレットの作り方を説明します。 続きを読む…
テキストボックスにひらがな以外を入力できないようにしたい。
次のようにすると、ひらがな以外または空文字の場合、アラートが出て実行されない。
<form action="" onsubmit="return checkit()">
<input type="text" id="t0" style="ime-mode:active;">
<input type="submit" value="実行">
</form>
<script>
function checkit(){
mytext=document.getElementById("t0").value;
if(mytext.match(/[^あ-ん]/)){
alert("ひらがなで入力してください。");
flg=false;
}else if(mytext==""){
alert("何か入力してください。");
flg=false;
}else{
flg=true;
}
return(flg);
}
</script>
JavaScriptで改行を削除する方法は色々あるようですが、これが最もシンプルなのではないかと思います。
ato=mae.replace(/[\r\n]/g,"");
シリアル値
エクセルで経過日数を求めるには日付同士を単純に引き算すれば求められます。
エクセルではシリアル値という値を使って日付を管理しているからです。シリアル値は1900年1月1日を「1」、2日を「2」として延々と日数を数えた値です。
例えば、2001年2月18日から2004年1月1日までの経過日数を求めてみます。
2001年2月18日のシリアル値は「36940」で
2004年1月1日のシリアル値は「37987」ですので、引き算して
37987-36940=1047(日)となります。 続きを読む…
ブックマークレットで、取得した何らかの結果を表示させるにはアラートまたはプロンプトを使う。
javascript:(function(){alert('sample');})()
javascript:(function(){a=window.prompt('title','sample');})()
promptを使った場合は、IEならば、文字列がテキストボックスに出力され、選択状態になるので、コピーが簡単である。
ブックマークレットを使って特定のページを開く場合は次のような方法があります。
同じウィンドウで開く
javascript:(function(){document.location.href=URL})()
別のウィンドウで開く
javascript:(function(){window.open(URL)})()
目の前にパソコンはあるのだけれど、定規がない場合にパソコンのモニターで長さを測る方法です。WindowsXPで使えます。
スタート-コントロールパネル-画面を開き(デスクトップ上で右クリック-プロパティでも可)、設定タブを選択してください。
詳細設定をクリックすると「DPI設定」のところに「96DPI」などと書かれています。これは画面が1インチあたり96ピクセルであることを表します。以下、96DPIを前提に。
今、HTMLを使って10センチ(100ミリ)の線を書きたいとします。
1インチは25.4ミリですので、96×100÷25.4=378(ピクセル)となります。
次のように書くと幅10センチの細長い四角が描かれます。
<img src='temp.png' width='378px' height='20px'>
JavaScriptで書くならば次のような感じで。長さが変えられます。
var mm=100;//10センチならば「100」ミリ
var dpi=96;
var mmpi=25.4;//1inch=25.4mm
var pxl=mm*dpi/mmpi;
document.write("<img src='temp.png' width='"+pxl+"px' height='20px'>");
10mm
20mm
30mm
40mm
50mm
60mm
70mm
80mm
90mm
100mm
今日は13日の金曜日。今年は3回ありました。来年は1回だけ。
2000年から10年間の「13日の金曜日」を羅列するコード(JavaScript)は次の通り。
function fri13(){
var s="";
for(i=0;i<120;i++){
d=new Date(2000,i,13);
if(d.getDay()==5){
s+=d+"<br>";
}
}
return(s);
}
あと、昔、こんなものを作りました。
次の13日の金曜日-換算ゲングル
「次の13日の金曜日」と入力すると、次の13日の金曜日はいつなのかが表示されます。元々は単位の換算をするプログラムです。
最近のコメント