問題
解法
とりあえずスクリプトをコピーしてPaizaにブチ込んでみると、スクリプトをデコードした文字列が出てきました。
軽く整形します。
$(function(){
$("form").submit(function(){
var t=$('input[type="text"]').val();
var p=Array(70,152,195,284,475,612,791,896,810,850,737,1332,1469,1120,1470,832,1785,2196,1520,1480,1449);
var f=false;
if(p.length==t.length){
f=true;
for(var i=0;i<p.length;i++)
if(t.charCodeAt(i)*(i+1)!=p[i])
f=false;
if(f)alert("(」・ω・)」うー!(/・ω・)/にゃー!");
}
if(!f)alert("No");
return false;
});
});
どうやらvar t=$('input[type="text"]').val();
でテキストボックスに入れた文字列を変数t
に格納してからif(t.charCodeAt(i)*(i+1)!=p[i])
のif文で変数p
内Arrayの整数と比較しているようです。
比較した文字列が一致しているとalert("(」・ω・)」うー!(/・ω・)/にゃー!")
するみたいです。
charCodeAt()メソッドで数値に変換するときに、for文のインデックスi
を乗じていることに注意して、PythonでArray
を文字列に変換するコードを書いてみると、次のようになります。
Array = [70,152,195,284,475,612,791,896,810,850,737,1332,1469,1120,1470,832,1785,2196,1520,1480,1449]
for i in range(len(Array)):
print(chr(int(Array[i] / (i+1))), end="")
関連