1. 在页面上输出100到1000之间既是3的倍数又是5的倍数的数字。
2. 鸡兔同笼:鸡和兔子一共35只,笼子里一共有94只脚,用程序计算出鸡和兔子分别多少只
3. 计算两个数的最大公约数和最小公倍数。
4. 求1!+2!+3!+...+10!的和。
5. 对一个整数分解质因数。例如: 90 = 2 * 3 * 3 * 5
6. 在页面中显示出所有的"水仙花数",所谓"水仙花数"是指一个三位数, 其各位数字立方和等于该数本身。
7. 一个数如果恰好等于它的因子之和,这个数就称为 "完数 "。 例如6=1+2+3.编程 找出1000以内的所有完数。


1.

<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><title>既是3的倍数也是5的倍数</title><style>p{font:bold 16px  "微软雅黑";color:red;}span{display: inline-block;width: 50px;}</style>
</head>
<body>
<script>// 题目:在页面上输出100到1000之间既是3的倍数又是5的倍数的数字。var min=100;var max=1000;//count变量作为累加器var count=0;document.write("<p>"+min+"到"+max+"之间的数既是3的倍数也是5的倍数有:"+"</p>");for(i=min;i<=max;i++){//判断既是3的倍数又是5的倍数的iif(i%3==0 && i%5==0){document.write("<span>"+i+"</span>");count++;if(count%5==0){document.write("<br>");count=0;}}}
</script>
</body>
</html>

2.

<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><title>鸡兔同笼</title><style>p{font:bold 16px "微软雅黑";color:red;}</style>
</head>
<body>
<!--题目:鸡兔同笼:鸡和兔子一共35只,笼子里一共有94只脚,用程序计算出鸡和兔子分别多少只-->
<script>//兔子和鸡数量一共有amountvar amount=35;//兔子和鸡脚支有footvar foot=94;document.write("<p>"+"鸡兔同笼:一共35只,94支脚"+"</p>");//i设为是兔子的数量for(var i=0;i<=amount;i++){if(i*4+(amount-i)*2==foot){document.write("满足以上条件有以下方案:"+"兔子数量:"+i+" 鸡的数量:"+(amount-i));}}</script>
</body>
</html>

3.

<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><title>求两数的最大公约数和最小公倍数</title>
</head>
<body>
<!--题目:计算两个数的最大公约数和最小公倍数-->
<script>var num1=+prompt("输入第一个数:");var num2=+prompt("输入第二个数:");//判断两个数的大小//变量:divident放大数,divisor放小数,remainder放余数;if(num1>num2){divident=num1;divisor=num2;}else{divident=num2;divisor=num1;}//进行计算最大公约数//基本思想就是辗转相除法(大数除以小数,小数除以上一步的余数,知道余数为0)while(divident%divisor != 0){remainder=divident%divisor;divident=divisor;divisor=remainder;}//变量:gcd最大公约数;lcm最大公倍数;//求出了最大公约数,那么最大公约数基本思想就是:两数的成绩除以最大公约数。var gcd=divisor;var lcm=num1*num2/gcd;//输出页面document.write("您输入的两数为:"+num1 +" "+num2+"<br>");document.write("两数最大公约数为: "+gcd+"<br>");document.write("两数最小公倍数为: "+lcm+"<br>");
</script>
</body>
</html>

3.另解:思想算法简单一点,但算法时间复杂度不够优化

<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><title>简单算法的最大公约数和最小公倍数</title>
</head>
<body>
<script>var m=5;var n=12;var min=m<n ? m:n;for(var i=min;i>0;i--){if(m%i==0 && n%i==0){console.log(m+"与"+n+"的最大公约数:"+i);break;}}var max=m>n? m:n;for(var i=max;i>1;i++ ){if(i%m==0 && i%n==0){console.log(m+"与"+n+"的最小公倍数:"+i);break;}}
</script>
</body>
</html>

4.

<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><title>阶乘相加</title>
</head>
<body>
<script>//题目:求1!+2!+3!+...+10!的和var sum=0;for(var i=1 ;i<=10;i++){//重中之重是mul变量的positionvar mul=1;for(var j=1;j<=i;j++){mul*=j;}sum+=mul;}document.write(sum);
</script>
</body>
</html>

5.

<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><title>对一个分解因式整数</title><style>span,p{font:bold 16px "fantasy";color:red;}</style>
</head>
<body><!--* 题目:对一个整数分解质因数。例如: 90 = 2 * 3 * 3 * 5--><!--* 概念分析:分解质因数只针对合数。每个合数都可以写成几个质数相乘的形式。程式分析:如果是质数,分解质因数就是其本身。这里我对2单独考虑,2既不是属于合数也不是属于质数。所以我对用户输入值要求大于2的数。(用if··else语句实现)求一个数分解质因数,要从最小的质数除起(那么就不用prime的函数调用方法)设置一个for循环,把他所有质数可能值遍历一遍。这种算法较为高效。一直除到结果为质数为止。--><script>var input=+prompt("请输入您需要分解因数的数字:");document.write("<span>您输入的数字:</span>"+input+"<p> 计算机分解因式结果为:</p>");//textNum变量至关重要,如果没有他,比如5  只会输出5=5;不太好看。所以,设置一个变量testNum,//只要看testNum就知道他是否本身就是质数啦var testNum=input;var n=input;if(n<2){document.write("Warning!请输入大于2的数!");}else {document.write(n + "=");for (var i = 2; i <= Math.sqrt(n); i++)        //这里时间复杂度为O(根号n),大大降低数量级。{while (n % i == 0) {n = n / i;document.write(i + " ");if (n != 1) {document.write("*");}}}//prime质数出口if(n==testNum){document.write("1* "+n);}if (n!=1 && n!=testNum) {document.write(n);}}
</script>
</body>
</html>

5.另解:容易理解点的算法思想,但不优化代码

<script>//5. 对一个整数分解质因数。例如: 900 = 2 * 2 *
//num只是测试数据
var num = 900;
var temp = num;
var msg = num + " = ";
for (var i = 2; i <= temp; i++){if (temp % i == 0){if (i == temp){ // 最后一次的时候不要再添加 * 号msg += i;}else{msg += i + " * ";}temp = temp / i;i--;}
}
console.log(msg);</script>

6.

<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><title>水仙花</title>
</head>
<body>
<style>h3{color:red;}
</style>
<script>//在页面中显示出所有的"水仙花数",所谓"水仙花数"是指一个三位数,其各位数字立方和等于该数本身。//此题主要是考察两个知识点//求三位数的各个位数字//求立方项,用函数写法时间复杂度会降低一个数量级O(n);document.write("<h3>三位数的水仙花数有:</h3>");function cube(x){return x*x*x;}for(var num=100;num<=999;num++){var unit=num%10;var decade=parseInt((num%100)/10);var hundred=parseInt (num/100);var outUnit=cube(unit);var outDecade=cube(decade);var outHundred=cube(hundred);if(outUnit+outDecade+outHundred == num){document.write(num+"<br>");}}</script>
</body>
</html>

7.

<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><title>1000以内的所有完数</title><style>h3{color: red;}</style>
</head>
<body>
<!--题目:一个数如果恰好等于它的因子之和,这个数就称为 "完数 "。例如6=1+2+3.编程 找出1000以内的所有完数。-->
<script>document.write("<h3>1000以内的所有完数:</h3>");//count累加器,作为换行计数器var count;//外层for循环是遍历1--1000数字的作用,变量i就是各个数for(var i=1;i<1000;i++){//Position of variate is important!!!var sum=0;//内层for循环是找出其数的所有因子,变量j就是各个因子for(var j=1;j<i;j++){if(i%j==0){sum+=j;}}//判断因子和是否等于其本身number值,若是则是完数并输出。if(sum==i){document.write(i+" &nbsp;");//以下代码是用来5个换行,但没用到,因为1000内数只有三个是完数。count++;if(count%5 == 0){document.write("<br>");count=0;}}}
</script>
</body>
</html>
 

一些入门的编程题(JS实现)相关推荐

  1. java怎么随机的落下球_java入门程序编程题,一球100米自由落下编程

    下面要给大家带来的是一道非常经典的java入门编程题,一起来看看题目,以及解题的思路方法吧. 一.题目 100米高度自由落下,每次落地后反跳回原高度的一半,再落下. 求: 它在 第10次落地的时候,一 ...

  2. 慕课编程题JS选项卡切换

    Javascript进阶篇的最后一节是一个选项卡切换的编程,要求效果如下. 这里涉及到两块,一个是内容的切换显示,一个是红色的边框样式切换. 内容切换可以用纯js代码实现,但当这里还需设置一个红色边框 ...

  3. python入门作业编程题-Python编程:从入门到实践——【作业】——第六章(字典)...

    第六章作业 6-1人 : 使用一个字典来存储一个熟人的信息, 包括名. 姓. 年龄和居住的城市. 该字典应包含键first_name . last_name . age 和city . 将存储在该字典 ...

  4. python入门作业编程题-【python基础语法】第10天作业练习题

    """1.类属性怎么定义? 实例属性怎么定义?什么属性适合定义位类属性,什么属性时候定义成实例属性(简答) 类属性定义:直接定义在类里面的变量,叫做类属性 实例属性定义: ...

  5. python基础编程题100-Python入门经典编程题1

    1. 身体质量指数(BMI)的计算公司为:BMI=体重/身高的平方(国际单位:kg/m2).现在定义BMI 过轻:低于18.5 正常:18.5-23.9 过重:24-27.9 肥胖:高于28 请输入体 ...

  6. python入门作业编程题-Python编程:从入门到实践——【作业】——第三章(列表)...

    第三章作业 3-1姓名: 将一些朋友的姓名存储在一个列表中, 并将其命名为names . 依次访问该列表中的每个元素, 从而将每个朋友的姓名都打印出来. 3-2问候语: 继续使用练习 3-1中的列表, ...

  7. python入门作业编程题-python入门(一)作业

    一,流程控制之if...else 1. 如果:女人的年龄>30岁,那么:叫阿姨,否则:叫小妞 1 age_of_girl = 21 2 if age_of_girl >30:3 print ...

  8. python入门作业编程题-Python语言编写有趣练习题!

    1. 登录作业: 写一个登录程序,登录成功之后,提示XXX欢迎登录,登录失败3次后,提示账户锁定 username = "admin" passwd = "1234&qu ...

  9. 网易云课堂 计算机入门 期末 编程题

    你的程序要读入一篇英文文章,然后统计其中的单词数来输出.需要统计的数据为: 总的单词数量: 含有1个字母到10个字母的单词的数量. 单词和单词的间隔是由以下标点符号形成的:空格.tab.回车换行.逗号 ...

最新文章

  1. Kafka入门教程与详解
  2. 用UML做好系统分析
  3. Okhttp----缓存的加入方式----附完整demo
  4. 配置Linux的时钟同步
  5. 应用程序的日志通过rsyslog推送到syslog服务器
  6. ASP.NET MVC5 + EF6 入门教程 (5) Model和Entity Framework
  7. C++11并发实战(专栏)
  8. Java面试之设计模式七大原则
  9. ADO.NET Entity Framework 实体框架映射方案
  10. Percona PT-kill重构版(PHP)
  11. 【Python 3.7.9官方文档】之术语对照表
  12. 根据卫星星历在cesium画卫星轨迹
  13. 计算机只能在安全模式下起动,电脑不能进入正常的XP系统,只能在安全模式下启动?...
  14. iphone避坑指南
  15. APP和后端HTTP通信加密思路
  16. Drools LHS与RHS常见语法
  17. 2018刚入手一台UGP U8VR眼镜,ugp vr眼镜怎么样评测效果好不好,跟我看看
  18. 盒须图 python_什么是盒须图?
  19. PHPMyWind编辑器支持Word导入
  20. java中接口幂等性解决方案总结

热门文章

  1. 大数据常见面试问题汇总
  2. enum枚举构造函数
  3. c语言 如何防止野指针,C语言如何防止野指针
  4. Matlab之GPU加速方法
  5. Karate空手道俱乐部数据集的简单处理
  6. 支持实操的量化交易接口有哪些?
  7. mysql工资由低到高语句_mysql面试题
  8. css 背景图片和渐变色并存
  9. 目标世界上最小的Linux系统—ttylinux体验
  10. 使用 stunnel 保护 telnet 连接