<案例>
- 打印100–200之间所有能被3或者7整除的数
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8" />
<title>Document</title>
</head>
<body>
<div id="output"></div>
<script>
var res = '';
for(var i=100; i<=200; i++){
if(i%3 === 0 ||i%7 === 0){
res = res + i + ', ';
}
}
var output = document.getElementById('output');
output.innerHTML = res;
</script>
</body>
</html>
- 打印1~100的7的倍数和带7的数。
- 求100的阶乘100! 1*2*3*4*5…*100
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8" />
<title>100!</title>
</head>
<body>
<div id="output"></div>
<script>
var a = 1;
for(var i=1; i<=100; i++){
a = a * i;
}
document.getElementById('output').innerHTML = '100!的值为' + a;
</script>
</body>
</html>
- 找出所有的水仙花数,三位数,各位立方和等于该数本身。
如: 153 = 1^3 + 5^3 + 3^3
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8" />
<title>水仙花数</title>
</head>
<body>
<script>
//找出所有的水仙花数,三位数,各位立方和等于该数本身。
//如: 153 = 1^3 + 5^3 + 3^3
document.write('<h3>三位数的水仙花数有</h3><br>')
for(var i=100; i<1000; i++){
var b = parseInt(i/100);
var s = parseInt((i-b*100)/10);
var g = i - b*100 - s*10;
var c = b*b*b + s*s*s + g*g*g;
// document.write(',i是'+ i + ',b是'+b+',s是'+s+',g是'+g);
// document.write(',c是'+c+'<br>');
if(i === c){
document.write( i + '<br>');
}
}
</script>
</body>
</html>
- 打印99乘法表
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<style type="text/css">
span{
padding:5px 10px;
margin:5px;
width:80px;
background-color: rgba(0,0,0,.1);
display: inline-block;
box-sizing: border-box;
}
span:hover{
color:rgb(255,255,255);
background-color: skyblue;
}
</style>
</head>
<body>
<h4>九九乘法表</h4>
<div id="output"></div>
<script>
/*九九乘法表*/
//外层循环控制行
for(var i=1; i<10; i++){
//内层循环控制列
for(var j=1; j<=i; j++){
document.write('<span>'+j + '×' + i + '=' + i*j+'</span>');
}
document.write('<br />');
}
</script>
</body>
</html>
[练习]
- 求1!+2!+3!+4!+5!…20!
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
</head>
<body>
<script>
// 1!+2!+3!+4!+5!…20!
var b = 1;
var res = 0;
for(var i=1; i<=20; i++){
b *= i;
res += b;
}
document.write('1!+2!+3!+4!+5!…20!的值:' +res+ '<br>' );
</script>
</body>
</html>
- 输入两个数,求两个数的最大公约数
> 提示: 能够同时整除两个数的最大数
> 如: 12和8的最大公约数是4
> 先找出两个数中最小的那个数, 最小数–-,找出能被两个数整除的数(退出循环) 输入两个数,
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8" />
<title>Document</title>
</head>
<body>
<input type="text" id="a"/>
<input type="text" id="b"/>
<button onclick="max()">求最大公约数</button>
<input type="text" id="output"/>
<script>
//输入两个数,求两个数的最大公约数
//提示: 能够同时整除两个数的最大数
/*如: 12和8的最大公约数是4
先找出两个数中最小的那个数,
最小数–, 找出能被两个数整除的数(退出循环)*/
var a = document.getElementById('a');
var b = document.getElementById('b');
var output = document.getElementById('output');
function max(){
var a1 = Number(a.value);
var b1 = Number(b.value);
if(a1>b1){
var j = b1;
for(;j>0;j--){
if(a1%j===0 && b1%j===0){
output.value = '最大公约数为'+j;
break;
}
}
}else if(a1<b1){
var c = a1;
for(; c>0; c--){
if(a1%c===0 && b1%c===0){
output.value = '最大公约数为'+c;
break;
}
}
}
else if(a1===b1){
output.value = '最大公约数为'+a1;
}
else{
output.value = '请输入合法的数字';
}
}
</script>
</body>
</html>
- 求两个数的最小公倍数 如: 9和6的最小公倍数是18
先找出两个数中的最大数
最大数++,找出能被两个数整除的数(退出循环)
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8" />
<title>最小公倍数</title>
</head>
<body>
<input type="text" id="a"/>
<input type="text" id="b"/>
<button onclick="min()">求最小公倍数</button>
<input type="text" id="output"/>
<script>
/*输入两个数,求两个数的最小公倍数
如: 9和6的最小公倍数是18
先找出两个数中的最大数
最大数++,找出能被两个数整除的数(退出循环)*/
var a = document.getElementById('a');
var b = document.getElementById('b');
var output = document.getElementById('output');
function min(){
var a1 = Number(a.value);
var b1 = Number(b.value);
if(a1>b1){
var j=a1;
for(;;j++){
if(j%a1 === 0 && j%b1 ===0 ){
output.value = '最小公倍数为'+j;
break;
}
}
}else if(a1<b1){
var c=b1;
for(;;c++){
if(c%a1 === 0 && c%b1 ===0 ){
output.value = '最小公倍数为'+c;
break;
}
}
}else if(a1===b1){
output.value = '最小公倍数为'+a1;
}else{
output.value = '请输入合法的数字';
}
}
</script>
</body>
</html>
- 输入两个数n,a,如果n==3, a == 2;
输出 2 + 22 + 222 的值。(不用输出式子)
如: n == 4, a == 3; 输出 3 + 33 + 333 + 3333的值。 提示:n =
3,相加三次,每次相加比前一次相加的数,多一位 每次多的这个位数的值为a, 3, 3*10+3, 33*10+3
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8" />
<title>最小公倍数</title>
</head>
<body>
<input type="text" id="a"/>
<input type="text" id="b"/>
<button onclick="min()">求最小公倍数</button>
<input type="text" id="output"/>
<script>
/*输入两个数,求两个数的最小公倍数
如: 9和6的最小公倍数是18
先找出两个数中的最大数
最大数++,找出能被两个数整除的数(退出循环)*/
var a = document.getElementById('a');
var b = document.getElementById('b');
var output = document.getElementById('output');
function min(){
var a1 = Number(a.value);
var b1 = Number(b.value);
if(a1>b1){
var j=a1;
for(;;j++){
if(j%a1 === 0 && j%b1 ===0 ){
output.value = '最小公倍数为'+j;
break;
}
}
}else if(a1<b1){
var c=b1;
for(;;c++){
if(c%a1 === 0 && c%b1 ===0 ){
output.value = '最小公倍数为'+c;
break;
}
}
}else if(a1===b1){
output.value = '最小公倍数为'+a1;
}else{
output.value = '请输入合法的数字';
}
}
</script>
</body>
</html>
- 五位数中,对称的数称为回文数,找出所有的回文数。
如: 12321
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8" />
<title>回文数</title>
</head>
<body>
<p>五位数中,对称的数称为回文数,找出所有的回文数。<br />
如: 12321</p>
<script>
document.write('五位数的所有的回文数是:<br />');
for(var i=10000; i<=99999; i++){
//个位数 i对10取余
var g = i%10;
//十位数
var s = parseInt(i%100/10);
var b = parseInt(i%1000/100);
var q = parseInt(i%10000/1000);
var w = parseInt(i/10000);
if(g===w && s===q){
document.write(i + ', ');
}
}
</script>
</body>
</html>
[作业]
- 篮球从5米高的地方掉下来,每次弹起的高度是原来的30%,经过几次弹起,篮球弹起的最终高度小于0.1米
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8" />
<title></title>
</head>
<body>
<script>
/*篮球从5米高的地方掉下来,每次弹起的高度是原来的30%,经过几次弹起,篮球弹起的最终高度小于0.1米*/
for(var a=5,i=0; a>=0.1; i++){
a *= 0.7;
}
document.write('篮球从5米高的地方掉下来,每次弹起的高度是原来的30%,经过' + i +'次弹起,篮球弹起的最终高度小于0.1米');
</script>
</body>
</html>
- 宰相的麦子:相传古印度宰相达依尔,是国际象棋的发明者。有一次,国王因为他的贡献要奖励他,问他想要什么。达依尔说:“只要在国际象棋棋盘上(共64格)摆上这么些麦子就行了:第一格一粒,第二格两粒,……,后面一格的麦子总是前一格麦子数的两倍,摆满整个棋盘,我就感恩不尽了。”国王一想,这还不容易,刚想答应,如果你这时在国王旁边站着,你会不会劝国王别答应,为什么?
计算小麦的重量(我国小麦千粒生一般为25-40克)
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8" />
<title>宰相的麦子</title>
</head>
<body>
<script>
/*宰相的麦子:相传古印度宰相达依尔,是国际象棋的发明者。有一次,国王因为他的贡献要奖励他,问他想要什么。达依尔说:“只要在国际象棋棋盘上(共64格)摆上这么些麦子就行了:第一格一粒,第二格两粒,……,后面一格的麦子总是前一格麦子数的两倍,摆满整个棋盘,我就感恩不尽了。”国王一想,这还不容易,刚想答应,如果你这时在国王旁边站着,你会不会劝国王别答应,为什么?
计算小麦的重量(我国小麦千粒生一般为25-40克)*/
var weight = 1;
var count = 0;
for(var i=1; i<=64; i++){
count += weight;
weight *= 2;
}
document.write('小麦的重量范围:' + count*25/1000 +'克到' + count*40/1000 +'克');
</script>
</body>
</html>