N-Back
训练工作记忆。
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>N-Back</title>
<script src="https://cdn.staticfile.net/jquery/1.10.2/jquery.min.js"></script>
</head>
<body>
<p>n=<input id="n-input"></p>
<div id="block" style="display: none;">
<p id="num"></p>
<p><input id="answer-input"></p>
<p id="feedback"></p>
</div>
<script>
var a = [0], now = 1, n;
$("#n-input").keydown(function(e) {
if (e.keyCode == 13) {
n = parseInt($("#n-input").val());
if (n !== n) n = 3;
$("#block").css("display", "block");
a.push(Date.now() % 10);
$("#num").text(a[now]);
}
})
$("#answer-input").keydown(function(e) {
if (e.keyCode == 13) {
if (now < n) {
$("#feedback").text(`第 ${now} 步,无答案`);
} else {
var inp = parseInt($("#answer-input").val());
if (inp !== inp) inp = -1;
$("#feedback").text(`第 ${now} 步,` + ((a[now - n + 1] == inp)? "正确": "错误"));
}
$("#answer-input").val("");
now++;
a.push(Date.now() % 10);
$("#num").text(a[now]);
}
})
</script>
</body>
</html>
一口清训练
速算。
个位有,
$$\begin{matrix} 1 & 2 & 3 & 4 & 5 & 6 & 7 & 8 & 9\\ 2 & 4 & 6 & 8 & 0 & 2 & 4 & 6 & 8\\ 3 & 6 & 9 & 2 & 5 & 8 & 1 & 4 & 7\\ 4 & 8 & 2 & 6 & 0 & 4 & 8 & 2 & 6\\ 5 & 0 & 5 & 0 & 5 & 0 & 5 & 0 & 5\\ 6 & 2 & 8 & 4 & 0 & 6 & 2 & 8 & 4\\ 7 & 4 & 1 & 8 & 5 & 2 & 9 & 6 & 3\\ 8 & 6 & 4 & 2 & 0 & 8 & 6 & 4 & 2\\ 9 & 8 & 7 & 6 & 5 & 4 & 3 & 2 & 1 \end{matrix}$$
极具对称性。
十位有,
$$\begin{matrix} 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0\\ 0 & 0 & 0 & 0 & 1 & 1 & 1 & 1 & 1\\ 0 & 0 & 0 & 1 & 1 & 1 & 2 & 2 & 2\\ 0 & 0 & 1 & 1 & 2 & 2 & 2 & 3 & 3\\ 0 & 1 & 1 & 2 & 2 & 3 & 3 & 4 & 4\\ 0 & 1 & 1 & 2 & 3 & 3 & 4 & 4 & 5\\ 0 & 1 & 2 & 2 & 3 & 4 & 4 & 5 & 6\\ 0 & 1 & 2 & 3 & 4 & 4 & 5 & 6 & 7\\ 0 & 1 & 2 & 3 & 4 & 5 & 6 & 7 & 8 \end{matrix}$$
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>一口清训练</title>
<script src="https://cdn.staticfile.net/jquery/1.10.2/jquery.min.js"></script>
</head>
<body>
<script>
function randomNum(minNum,maxNum){
switch(arguments.length){
case 1:
return parseInt(Math.random()*minNum+1,10);
break;
case 2:
return parseInt(Math.random()*(maxNum-minNum+1)+minNum,10);
break;
default:
return 0;
break;
}
}
</script>
<h2>固定个位求个位</h2>
<p>位数 n=<input id="n1-input"> 个位 a=<input id="a1-input"></p>
<div id="block1" style="display: none;">
<p id="num1"></p>
<p><input id="answer1-input"></p>
<p id="feedback1"></p>
</div>
<script>
var a1, n1, b1 = [];
$("#a1-input").keydown(function(e) {
if (e.keyCode == 13) {
n1 = parseInt($("#n1-input").val());
if (n1 !== n1) n1 = 1;
a1 = parseInt($("#a1-input").val());
if (a1 !== a1) a1 = 2;
$("#block1").css("display", "block");
b1 = [];
for (var i = 0; i < n1; i++)
b1.push(randomNum(0, 9));
$("#num1").text(b1.join(''));
}
})
function getArr1(arr) {
var newa = arr;
for (var i = 0; i < n1; i++)
newa[i] = newa[i] * a1 % 10;
return newa;
}
$("#answer1-input").keydown(function(e) {
if (e.keyCode == 13) {
var inp = parseInt($("#answer1-input").val());
if (inp !== inp) inp = -1;
$("#feedback1").text(`上一问题 ${b1.join('')};输入 ${inp};答案 ${getArr1(b1).join('')}`);
$("#answer1-input").val("");
b1 = [];
for (var i = 0; i < n1; i++)
b1.push(randomNum(0, 9));
$("#num1").text(b1.join(''));
}
})
</script>
<h2>固定个位求十位</h2>
<p>位数 n=<input id="n2-input"> 十位 a=<input id="a2-input"></p>
<div id="block2" style="display: none;">
<p id="num2"></p>
<p><input id="answer2-input"></p>
<p id="feedback2"></p>
</div>
<script>
var a2, n2, b2 = [];
$("#a2-input").keydown(function(e) {
if (e.keyCode == 13) {
n2 = parseInt($("#n2-input").val());
if (n2 !== n2) n2 = 1;
a2 = parseInt($("#a2-input").val());
if (a2 !== a2) a2 = 2;
$("#block2").css("display", "block");
b2 = [];
for (var i = 0; i < n2; i++)
b2.push(randomNum(0, 9));
$("#num2").text(b2.join(''));
}
})
function getArr2(arr) {
var newa = arr;
for (var i = 0; i < n2; i++)
newa[i] = Math.floor(newa[i] * a2 / 10);
return newa;
}
$("#answer2-input").keydown(function(e) {
if (e.keyCode == 13) {
var inp = parseInt($("#answer2-input").val());
if (inp !== inp) inp = -1;
$("#feedback2").text(`上一问题 ${b2.join('')};输入 ${inp};答案 ${getArr2(b2).join('')}`);
$("#answer2-input").val("");
b2 = [];
for (var i = 0; i < n2; i++)
b2.push(randomNum(0, 9));
$("#num2").text(b2.join(''));
}
})
</script>
</body>
</html>
function download(url,fileName){
//图片的地址
fetch(url)
// 获取 blob 对象
.then(res=>res.blob())
.then(blob=>{
// 创建a标签
var link = document.createElement('a');
// 设置a标签为不可见
link.style.display = 'none';
// 将a标签添加到body
document.body.appendChild(link);
// 生成Blob URL并设置给a标签的href属性
var url = window.URL.createObjectURL(blob);
link.href = url;
// 设置a标签的download
link.download = fileName;
// 模拟点击事件进行下载
link.click();
//下载完成后清理URL对象和a标签
window.URL.revokeObjectURL(url);
document.body.removeChild(link);
})
}
function forcesleep(delay) {
var start = (new Date()).getTime();
while ((new Date()).getTime() - start < delay) {
continue;
}
}
$.get("https:///index.php?page=post&s=list&pid=650&tags=", function(data){
$(data).find(".thumbnail-preview img").each(function(){
download($(this).attr("src"),Math.random().toString(36).substring(2, 15)+".jpg");
})
})