1.判断一个数是不是质数?(个人写了两种答案)
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Document</title>
</head>
<body>
</body>
</html>
<script>
// 封装一个函数
function lin(n) {
// 计算个数的变量
var content = 0
// 循环遍历
for (var i = 0; i <= n; i++) {
// 找因数
if (n % i == 0) {
// 计数器累加
content++
}
}
// 除了1和本身没有别的因数就是质数 所以计数的因数等于2就是质数
if (content === 2) {
return true
} else {
return false
}
}
console.log(lin(7));
</script>
// 除了1和它本身,没有其他的因数就是质数
var num = prompt("请输入一个数字");
// 定义一个变量 初始值为true
var flag = true;
if (num <= 1) {
alert('不是一个合法数字')
} else {
// 已知质数就是除了1和它本身的数 所以循环遍历从2开始 小于自身
for (var i = 2; i < num; i++) {
// 又因为除了1和它本身 没有因数才是质数所以取余等于0时就是false
if (num % i == 0) {
flag = false;
}
}
// 然后就判断 如果为true就是质数否则就不是质数
if (flag) {
alert(num + "是一个质数");
} else {
alert(num + "不是一个质数");
}
}
2.水仙花数(个人写了两种)
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Document</title>
</head>
<body>
</body>
</html>
<script>
// 封装一个函数
function lin() {
// 因为水仙花数是三位数 所以循环100-1000的所有数字
for (var i = 100; i < 1000; i++) {
// 水仙花数的条件就是百位的立方+十位的立方+个位的立方等于这个数本身
var sum = parseInt(i / 100) ** 3 + parseInt(i / 10 % 10) ** 3 + parseInt(i % 10) ** 3
// 判断得到的结果是不是跟100-1000的数字相等 如果相等就是水仙花数
if (sum == i) {
console.log(i);
}
}
}
lin()
</script>
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Document</title>
</head>
<body>
</body>
</html>
<script>
// 所谓 "水仙花数 "是指一个三位数,其各位数字立方和等于该数* **本身。**例如:153是一个 "水仙花数 ",因为153=1的三次方+5的三次方+3的三次方
// 第一层循环百位数
for (var i = 1; i < 9; i++) {
// 第二层循环十位数
for (var j = 0; j < 9; j++) {
// 第三层循环个位数
for (var x = 0; x < 9; x++) {
// 判断百位的立方+十位的立方+个位的立方是否等于100乘循环的自身+10乘循环的自身+1乘循环的自身
// 如果相等就是水仙花数
if (i * i * i + j * j * j + x * x * x == 100 * i + 10 * j + x) {
document.write(100 * i + 10 * j + x + "<br/>");
}
}
}
}
</script>
3.求1到10000的完美数
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Document</title>
</head>
<body>
</body>
</html>
<script>
// 遍历1到10000所有数字
for (var i = 1; i < 10000; i++) {
// 定义一个变量赋值为0
var num = 0;
// 已知完美数是除去它本身的因数之和
// 所以循环比它自身小的数
for (var j = 1; j < i; j++) {
// 当它取余等于0时 证明时它的因数
if (i % j == 0) {
// 相加求和
num += j;
}
}
// 然后判断这个和是否是1-10000里边的数字如果相等那么这个数就是完美数
if (num == i) {
console.log(i);
}
}
</script>
4.判断是不是一个完美数
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Document</title>
</head>
<body>
</body>
</html>
<script>
// 输入框
var n = Number(prompt('输入一个数字'))
// 计算和的变量
var sum = 0
// 循环这个数
for (var i = 1; i < n; i++) {
// 取余找因数
if (n % i == 0) {
// 累加的和
sum += i
}
}
// 判断累加的和是不是这个数字
if (sum === n) {
alert('是完美数')
}
</script>
5.1-60 能被7整除和末尾不是7的数
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Document</title>
</head>
<body>
</body>
</html>
<script>
// 循环1-60的数
for (var i = 1; i <= 60; i++) {
// 因为不能整除7且末尾不是7所以判断取余7不等于0取余10不等于7
if (i / 7 != 0 && i % 10 != 7) {
console.log(i);
}
}
</script>
6.已知今天星期二,1000天后星期几?随便输入一个天数看一下星期几?
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Document</title>
</head>
<body>
</body>
</html>
<script>
// 该题假设今天是星期二,又一个星期为七天是固定的,所以只要是7倍数的天数,就都为星期二。
// 所以,不论是求多少天后是星期几,只要将天数对7取余得到的数+2就能得到今天是星期几。
var day = parseInt(prompt('请随便输入一个天数', 1000))
var what = day % 7
// 因为今天是星期二但是一周是7天所以加2 得出今天星期几
var Tuesday = 2 + what
if (Tuesday > 7) {
var Tuesday = Tuesday % 7
} else {
Tuesday
}
// 循环遍历算出具体星期几
switch (Tuesday) {
case 1:
alert('今天星期一')
break;
case 2:
alert('今天星期二')
break;
case 3:
alert('今天星期三')
break;
case 4:
alert('今天星期四')
break;
case 5:
alert('今天星期五')
break;
case 6:
alert('今天星期六')
break;
default:
alert('今天星期日')
break;
}
</script>
7.用户输入一个三位数,弹出各个数位的和。
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Document</title>
</head>
<body>
</body>
</html>
<script>
var num = parseInt(prompt('请输入一个三位数'))
// 获取百位数
var hundred = parseInt(num / 100)
// 获取十位数
var ten = parseInt(num % 100 / 10)
// 获取个位数
var individual = parseInt(num % 10)
// 弹出
alert(hundred + ten + individual)
</script>
8.
某个公司要给员工发年终奖,为了奖励老员工,所以工作时间越长,发的越多,规则如下:
工作满0年 发月薪的1倍月薪年终奖,如果月薪大于8000,那么就是发1.2倍
工作满1年 发月薪的1.5倍月薪年终奖,如果月薪大于10000,那么就是发1.7倍
工作满2年,甚至更多 发月薪的3倍月薪年终奖,如果月薪大于12000,那么就是发3.2倍
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Document</title>
</head>
<body>
</body>
</html>
<script>
var year = parseInt(prompt('请输入工作年限'))
var pay = parseInt(prompt('请输入月薪'))
if (year == 0) {
if (pay > 8000) {
alert('您的年终奖为' + (pay * 1.2) + '元')
} else {
alert('您的年终奖为' + pay + '元')
}
} else if (year == 1) {
if (pay > 10000) {
alert('您的年终奖为' + (pay * 1.7) + '元')
} else {
alert('您的年终奖为' + (pay * 1.5) + '元')
}
} else if (year == 2) {
if (pay > 12000) {
alert('您的年终奖为' + (pay * 3.2) + '元')
} else {
alert('您的年终奖为' + (pay * 3) + '元')
}
} else {
alert('请输入正确的年限')
}
</script>
9.
用户输入一个年份,判断这个年是否是闰年。
判断闰年条件:
① 非整百年数除以4,无余为闰,有余不闰;
② 整百年数除以400,无余为闰,有余不闰
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Document</title>
</head>
<body>
</body>
</html>
<script>
var num = prompt('请输一个年份')
if (num % 100 !== 0 && num % 4 === 0 || num % 400 === 0 && num % 100 === 0) {
alert('今年是闰年')
} else {
alert('今年是平年')
}
</script>
10.圆的面积跟周长
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Document</title>
</head>
<body>
</body>
</html>
<script>
// 定义类
class Circle {
// 构造函数形参
constructor(r) {
this.r = r
}
// 计算周长
length() {
console.log((2 * Math.PI * this.r).toFixed(2));
}
// 计算面积的
area() {
console.log((Math.PI * this.r * this.r).toFixed(2));
}
}
// 实例化对象传实参
var circle = new Circle(5)
// 调用
circle.length()
circle.area()
</script>
11.用户输入一个数字n计算:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Document</title>
</head>
<body>
</body>
</html>
<script>
var n = Number(prompt('请输入一个数字'))
function lin(n) {
if (n == 2) return 3 / 2
return (n + 1) / n + lin(n - 1)
}
console.log(lin(n));
</script>
12.斐波那契数列
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Document</title>
</head>
<body>
</body>
</html>
<script>
// 斐波那契 已知条件
// 1 1 2 3 5
// n=1 n=2 n=3 n=4 n=5
function Fibonacci(n) {
if (n == 1 || n == 2) return 1
return Fibonacci(n - 1) + Fibonacci(n - 2)
}
console.log(Fibonacci(7));
</script>