公鸡2文,母鸡1文,小鸡半文,每种至少一只,100文买100只鸡有多少可能性
思路:假如公鸡x个 母鸡y个 小鸡z个 最终 x*2+y+z/2=100 x+y+z = 100
<script>
var sum = 0;
for (var i = 1; i <= 50; i++) {
for (var n = 1; n <= 100; n++) {
for (var j = 1; j <= 100; j++) {
if (i * 2 + n * 1 + j * 0.5 == 100 && i + n + j == 100) {
document.write("公鸡:" + i + "母鸡:" + n + "小鸡" + j + "<br />");
sum++;
}
}
}
}
document.write(sum)
</script>
效果:
公鸡:1母鸡:97小鸡2
公鸡:2母鸡:94小鸡4
公鸡:3母鸡:91小鸡6
公鸡:4母鸡:88小鸡8
公鸡:5母鸡:85小鸡10
公鸡:6母鸡:82小鸡12
公鸡:7母鸡:79小鸡14
公鸡:8母鸡:76小鸡16
公鸡:9母鸡:73小鸡18
公鸡:10母鸡:70小鸡20
公鸡:11母鸡:67小鸡22
公鸡:12母鸡:64小鸡24
公鸡:13母鸡:61小鸡26
公鸡:14母鸡:58小鸡28
公鸡:15母鸡:55小鸡30
公鸡:16母鸡:52小鸡32
公鸡:17母鸡:49小鸡34
公鸡:18母鸡:46小鸡36
公鸡:19母鸡:43小鸡38
公鸡:20母鸡:40小鸡40
公鸡:21母鸡:37小鸡42
公鸡:22母鸡:34小鸡44
公鸡:23母鸡:31小鸡46
公鸡:24母鸡:28小鸡48
公鸡:25母鸡:25小鸡50
公鸡:26母鸡:22小鸡52
公鸡:27母鸡:19小鸡54
公鸡:28母鸡:16小鸡56
公鸡:29母鸡:13小鸡58
公鸡:30母鸡:10小鸡60
公鸡:31母鸡:7小鸡62
公鸡:32母鸡:4小鸡64
公鸡:33母鸡:1小鸡66
33
网页计算器
当点击=号的按钮后,根据前面两个文本框的值以及操作符号计算最终结果显示在最后一个文本框中
提示:
1、点击事件
标签id值.onclick = function(){
此次可以写代码,一旦点击会自动执行
}
2、获取文本框与select的值
使用 标签ID值.value 可以获取到文本框中的值
需要修改 标签ID值.value = 值
<script>
// 1、获取页面中的 =
var calculation = document.getElementById('calculation');
// 2、点击事件
calculation.onclick = function(){
// 3、获取输入框
var num1 = document.getElementById('num1');
// 获取选项
var operation = document.getElementById('operation');
var num2 = document.getElementById('num2');
var result = document.getElementById('result');
// 转换为数字类型
num1=parseInt(num1.value);
num2=parseInt(num2.value);
var res = null;
// 判断operation里面value的加减号
if( operation.value == '+'){
res = num1 + num2;
}
if( operation.value == '-'){
res = num1 - num2;
}
if( operation.value == '*'){
res = num1 * num2;
}
if( operation.value == '/'){
res = num1 / num2;
}
// 更新result里面的value值
result.value = res;
}
</script>
效果图:
数据加密
某个公司采用公用电话传递数据,数据是四位的整数,在传递过程中是加密的,
加密规则如下:每位数字都加上5,然后用除以10的余数代替该数字,再将第一位和第四位交换,第二位和第三位交换,实现传入原文,输出密文
<script>
var str = 1234;
var a = parseInt(str /1000);
var b = parseInt((str / 100) % 10)
var c = parseInt((str/10) % 10)
var d = parseInt(str % 10)
a = (a + 5 ) % 10
b = (b + 5 ) % 10
c = (c + 5 ) % 10
d = (d + 5 ) % 10
var temp = a;
a = d;
d = temp;
var temp = b;
b = c;
c = temp;
// 换成数字输出
var num = a*1000+b*100+c*10+d;
console.log(num);//9786
</script>
实现猜数游戏。先随机生成一个100以内的数字。用户输入一个数字。如果输入的大于随机数提示大了,输入的数值小于随机数提示小于,相等游戏结束。
思路
1、生成100以内的随机数
Math.random()生产一个0到1之间的随机数
2、循环接受用户的输入与随机数判断(需要使用死循环与break语句)
<script>
var num = parseInt(Math.random() * 101);
while (true) {
var Number = prompt("请输入一个数字1-100:");
if (num < Number) {
alert("大了");
} else if (num > Number) {
alert("小了");
} else if (num == Number) {
alert("相等");
break;
}
}
</script>
双色球电脑选号
双色球规则:红球一共6个,每个从1-33中随机抽取一个(标准规则六个互相不重复)。然后蓝球是从1-16中抽取一个数字,这组数字就产生看一组双色球。
将红球可以使用的数字放到一个数组中,随机的从数组中取一个数字,为了保证不重复。取完数字后删除这个元素
<!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>
<style>
* {
margin: 0;
padding: 0;
}
/* 设置大盒子 */
.bigbox {
height: 200px;
width: 600px;
border: 1px solid gray;
border-radius: 50px;
margin: 100px auto;
}
/* 设置数字部分 */
.bigbox>.number {
height: 50px;
/* border: 1px solid red; */
margin: 50px auto;
margin-bottom: 0px;
display: flex;
justify-content: space-around;
}
.bigbox>.number>div {
height: 50px;
width: 50px;
border: 1px solid greenyellow;
background-color: #CA0901;
}
.bigbox>.number>div:nth-last-child(1) {
background-color: blue;
}
/* 下面的按钮部分 */
.bigbox>.btn {
height: 50px;
width: 100px;
background-color: #fab;
margin: 0px auto;
margin-top: 40px;
border-radius: 50px;
text-align: center;
line-height: 50px;
color: #CA0901;
}
.bigbox>.btn p {
color: #bfa;
text-align: center;
line-height: 50px;
}
.red{
text-align: center;
line-height: 50px;
}
</style>
</head>
<body>
<div class="bigbox">
<!-- 上面的数字部分 -->
<div class="number" id="number">
<div class="red"></div>
<div class="red"></div>
<div class="red"></div>
<div class="red"></div>
<div class="red"></div>
<div class="red"></div>
<div class="red"></div>
</div>
<!-- 下面的按钮部分 -->
<div class="btn" id="btn">
<p>开始选号</p>
</div>
</div>
<script>
/*
选做题
双色球规则:红球一共6个,每个从1-33中随机抽取一个(标准规则六个互相不重复)。然后蓝球是从1-16中抽取一个数字,这组数字就产生看一组双色球
*/
// 将红球可以使用的数字放到一个数组中,随机的从数组中取一个数字,为了保证不重复。取完数字后删除这个元素
// 数据渲染
// 获取DOM节点
var btn = document.getElementById("btn");
var number = document.getElementById('number');
var Red = document.querySelectorAll('.red');
// document.getElementById('number').innerHTML = red;
btn.onclick = function () {
btn.innerHTML = "选号中";
var arr = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33];
var red = [];
// console.log(n)
for (var i = 0; i < 6; i++) {
// 随机生成下标为 0-32
var n = parseInt(Math.random() * arr.length);
// 利用随机生成的下标追加到red数组中
red.push(arr[n]);
// 把取到的随机元素从数组中删除
arr.splice(n, 1);
}
// 排序
red.sort(function (a, b) {
return (a - b);
})
// 随机生成1-16个随机数
var blue = parseInt(Math.random() * 16) + 1;
// 追加至red数组内
red.push(blue);
// console.log(red)
// 数据渲染
for(var i = 0; i <= Red.length; i++){
Red[i].innerHTML = red[i];
// console.log(red[i]);
}
}
// console.log(red)
</script>
</body>
</html>