<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Javascript 练习三</title>
</head>
<style type="text/css">
/* table{
border: 1px solid #B2B2B2;
border-collapse: collapse;
margin: 0 auto;
}
table tr{
border-collapse: collapse;
}
table tr:nth-child(1){
background-color: #DADADA;
color: red;
}
table tr td{
display: inline-block;
width: 60px;
height: 60px;
line-height: 60px;
text-align: center;
border-collapse: collapse;
border: 1px solid #B2B2B2;
}
table tr td:nth-child(1){
background-color: #DADADA;
color: red;
}
*/
table {
border: 1px solid #B2B2B2;
border-collapse: collapse;
margin: 0 auto;
}
table tr {
border-collapse: collapse;
}
table tr:nth-child(1) {}
table tr td {
display: inline-block;
width: 60px;
height: 60px;
line-height: 60px;
text-align: center;
border-collapse: collapse;
border: 1px solid #B2B2B2;
}
table tr td:nth-child(1) {}
.b {
color: black;
background-color: white;
}
.w {
color: white;
background-color: black;
}
</style>
<body>
<script type="text/javascript">
/***********************************
1.请写出javascript的三种循环
***********************************/
/*
for,while,do while
*/
/***********************************
2.请写出break和continue作用和区别
***********************************/
/*
作用:中断循环
区别: break中断当前整的循环
continue 中断当前循环
*/
/***********************************
3.循环输出1-100 里奇数
***********************************/
/* for(var i = 1;i<=99;i+=2){
console.log(i);
}*/
/***********************************
3.有一分数序列:2/1,3/2,5/3,8/5,13/8,21/13...求出这个数列的前20项之和。
(程序分析:请抓住分子与分母的变化规律。)
***********************************/
/* var sum = 0;
var x = 2;
var y = 1;
for(var i= 0;i<20;i++){
var div = x/y;
var t = x;
x = x+y;
y = t;
sum+=div;
}
console.log(sum);
*/
/***********************************
4.有一座桥,当你身上所拥有的钱大于30000时,每过一次桥则需要支付3000元。当你身上的钱小于或等于30000时,每过一次桥则需要支付你身上10%的钱。已知有一个人身上有33000元,问此人能过这座桥多少次之后,身上的钱会少于100块?
***********************************/
/* var i = 0;
var n = 33000;
while(n>100){
if(n>30000){
n -= 3000;
i++;
}
else{
n -= n*0.1;
i++;
}
}
console.log(i)*/
/***********************************
5.小明去存1000钱,每天会产生1%的利息,求问,30天后,小明可以拿回多少钱
***********************************/
/* var n = 30;
t = 1000;
sum = 1000;
for(var i = 0;i<n;i++){
sum *=1.01;
}
console.log(sum);
function getSum(n){
if(n==0){
return t;
}
else{
return getSum(n-1)*1.01;
}
}
console.log(getSum(30));*/
/***********************************
6.小明题目升级版,小明拿着1000块在周一买入基金,一开户立给10块红利,
逢周六日没有利息,平时利息为1%,请问30天后,小明可以拿回多少钱?
***********************************/
/*var sum = 1000+10;
for(var i = 1;i<=30;i++){
if(i%7==0||i%6==0){
sum = sum;
}
else{
sum*=1.01;
}
}
console.log(sum);
function getSum(n){
if(n==0){
return 1000;
}
else{
if(n%7==0||n%6==0){
return getSum(n-1);
}
else{
return getSum(n-1)*1.01;
}
}
}
console.log(getSum(30));*/
/***********************************
7.乘法口诀表:
让学生输出4种方向的乘法口诀表
***********************************/
/*
document.write("<table border = '1'>");
for(var i = 0; i<=9;i++){
if(i == 0){
document.write("<tr>");
for(var j = 0; j<=9 ;j++){
document.write("<td>"+j+"</td>");
}
document.write("</tr>");
}
else{
document.write("<tr>");
for(var j = 0;j<=9;j++){
if(j==0){
document.write("<td>"+i+"</td>");
}
else{
document.write("<td>"+i*j+"</td>");
}
}
document.write("</tr>");
}
}
document.write("</table>");*/
/***********************************
8.给一个不多于5位的正整数,要求:一、求它是几位数,二、逆序打印出各位数字。
***********************************/
/* num = 43431;
i=0;
var s = 1;
while(num>0){
console.log("i:"+num);
num=parseInt(num/10);
i++;
}
console.log("length:"+i);
var num = 43431;
var max = num;
var result=0;
while(num>0){
console.log(num+"%"+10+"="+(num%10));
if(num>10){
result =(result + parseInt(num%10))*10;
}
else{
result +=num;
}s
num=parseInt(num/10);
}
console.log(max+"->"+result);
*/
/***********************************
9.求100个随机数之和,随机数要求为0—9的整数
***********************************/
/*var sum = 0;
for(var i = 0;i<10;i++){
var num = parseInt(Math.random()*10);
console.log(i+":"+num);
sum+=num;
}
console.log("sum:"+sum);*/
/***********************************
10.通过键盘输入一个任意的正整数(建议这个数比3大),
在网页中输出3至这个数之间所有能被3整除的数字。
***********************************/
/* var num = parseInt(prompt("请输入一个大于三的整数:"));
var j = 1;
for(var i = 3;i<=num;i++){
if(i%3==0){
console.log(j+":"+i);
}
}
*/
/**********************************************
11.黑白棋 奇数行 && 奇数列 || 偶数行 && 偶数列
**********************************************/
/* var n = 10;
var m = 10;
document.write("<table class = 't2'>");
for(var i = 0;i<n;i++){
document.write("<tr>");
for(var j =0;j<m;j++){
if(i%2==1&&j%2==1||i%2==0&&j%2==0){
document.write("<td class = 'w'>白</td>");
}
else{
document.write("<td class = 'b'>黑</td>");
}
}
document.write("</tr>");
}
document.write("</table>"); */
/**********************************************
12.(提高题)输入一整数A,判断它是否素数(除了自己和1之外,不能被其它数整数)
**********************************************/
/*
var num = parseInt(prompt("请输入一个大于三的整数:"));
function isPrime(number){
//小于2都不是素数
if (number<2) {return false};
//2是素数,被2整除的都不是素数
if (number===2) {
return true
}else if(number%2===0){
return false;
};
//依次判断是否能被奇数整除,最大循环为数值的开方
var squareRoot=Math.sqrt(number);
for(var i=3;i<=squareRoot;i+=2){
if (number%i===0) {
return false;
};
}
return true;
}
var s = isPrime(num)==true?"是素数":"不是素数";
console.log(num+s);*/
/***********************************
13.(提高题)将100元整钞换成20元、10元、5元、2元、1元零钱,要求零钱总张数为30张,求有多少种换法?假如要求每种纸币必须至少有一张,又有多少种换法呢?
***********************************/
/* var n = 0;
for(var i = 0;i<100;i++){
for(var j = 0;j<50;j++){
for(var k = 0;k<20;k++){
for(var l = 0;l<10;l++){
for(var m = 0;m<5;m++){
if((i*20+j*10+k*5+l*2+m) == 100 && i+j+k+l+m ==30){
n++;
console.log("第"+n+"种情况:"+"1元"+i+"张,2元"+j+"张,5元"+k+"张,10元"+l+"张,20元"+m+"张");
}
}
}
}
}
}
console.log(n);*/
/*var n = 0;
for(var i = 1;i<100;i++){
for(var j = 1;j<50;j++){
for(var k = 1;k<20;k++){
for(var l = 1;l<10;l++){
for(var m = 1;m<5;m++){
if((i*20+j*10+k*5+l*2+m) == 100){
n++;
console.log("第"+n+"种情况:"+"1元"+i+"张,2元"+j+"张,5元"+k+"张,10元"+l+"张,20元"+m+"张");
}
}
}
}
}
}
console.log(n);*/
</script>
</body>
</html>