JavaScript两道例题
1、有一个卡车司机肇事后想逃跑,但是被三个人看见其车牌号码,但是没有看全。一号说:车牌的前两位是一样的,二号说:车牌的后两位是一 样的,但是与前两位不一样,三号说:车牌是一个数字的平方,请计算车辆号牌是多少。(车辆号牌是4位数)
刚开始我的思路是这样的:
1: <script>
2: //1、设置一个x 代表前两位
3: let x;
4: //2、设置一个y 代表后两位
5: let y;
6: //3、第三个数是一个自然数的平方 自然数为num(1-10000)
7: let num;
8: for (let x = 0; x < 10; x++) {
9: for (let y = 0; y < 10; y++) {
10: if (x == y) {
11: continue;
12: }
13: for (let num = 0; num < 100; num++) {
14: let s = x * 1000 + x * 100 + y * 10 + y;
15: if (num * num == s) {
16: console.log(s);
17: }
18: }
19: }
20: }
21: </script>
经过优化后,变成了如下这样:
1: <!-- 性能优化 -->
2: <script>
3: //1、设置一个x 代表前两位
4: let x;
5: //2、设置一个y 代表后两位
6: let y;
7: //3、第三个数是一个自然数的平方 自然数为num(1-10000)
8: let num;
9: outer: for (let x = 0; x < 10; x++) {
10: for (let y = 0; y < 10; y++) {
11: if (x == y) {
12: continue; //终止当前循环
13: }
14: let s = x * 1000 + x * 100 + y * 10 + y;
15: for (let num = 0; num < 100; num++) {
16: if (num * num == s) {
17: console.log(s);
18: break outer; //终止整个循环
19: }
20: }
21: }
22: }
23: </script>
2、统计100~1000的水仙花数
1: <script>
2: for( let i =100; i < 1000;i++){
3: let x = parseInt(i / 100) ; //百位
4: let y = parseInt((i / 10) % 10); //十位
5: let z =parseInt(i % 10); //个位
6: if(x * x * x + y * y * y + z * z * z == i){
7: document.write("水仙花数:"+i+ "<br>");
8: continue;
9: }
10: }
11: </script>
纪念第一天。。。
JavaScript两道例题的更多相关文章
- 穷举(四):POJ上的两道穷举例题POJ 1411和POJ 1753
下面给出两道POJ上的问题,看如何用穷举法解决. [例9]Calling Extraterrestrial Intelligence Again(POJ 1411) Description A mes ...
- ACM/ICPC 之 欧拉回路两道(POJ1300-POJ1386)
两道有关欧拉回路的例题 POJ1300-Door Man //判定是否存在从某点到0点的欧拉回路 //Time:0Ms Memory:116K #include<iostream> #in ...
- 你所不知道的库存超限做法 服务器一般达到多少qps比较好[转] JAVA格物致知基础篇:你所不知道的返回码 深入了解EntityFramework Core 2.1延迟加载(Lazy Loading) EntityFramework 6.x和EntityFramework Core关系映射中导航属性必须是public? 藏在正则表达式里的陷阱 两道面试题,带你解析Java类加载机制
你所不知道的库存超限做法 在互联网企业中,限购的做法,多种多样,有的别出心裁,有的因循守旧,但是种种做法皆想达到的目的,无外乎几种,商品卖的完,系统抗的住,库存不超限.虽然短短数语,却有着说不完,道不 ...
- js 从两道面试题加深理解闭包与箭头函数中的this
壹 ❀ 引 在本文之前我已经花了两个篇幅专门介绍了JavaScript中的闭包与this,正好今早地铁上看到了两道面试题,试着做了下发现挺有意思,所以想单独写一篇文章来记录解析过程.若你对于闭包与t ...
- tarjan 缩点 + 几道例题
tarjan 缩点 + 几道例题 tarjan 模板 #include <iostream> #include <string.h> using namespace std; ...
- ACM/ICPC 之 Floyd范例两道(POJ2570-POJ2263)
两道以Floyd算法为解法的范例,第二题如果数据量较大,须采用其他解法 POJ2570-Fiber Network //经典的传递闭包问题,由于只有26个公司可以采用二进制存储 //Time:141M ...
- ACM/ICPC 之 SPFA范例两道(POJ3268-POJ3259)
两道以SPFA算法求解的最短路问题,比较水,第二题需要掌握如何判断负权值回路. POJ3268-Silver Cow Party //计算正逆最短路径之和的最大值 //Time:32Ms Memory ...
- ACM/ICPC 之 两道dijkstra练习题(ZOJ1053(POJ1122)-ZOJ1053)
两道较为典型的单源最短路径问题,采用dijkstra解法 本来是四道练习题,后来发现后面两道用dijkstra来解的话总觉得有点冗余了,因此暂且分成三篇博客(本篇以及后两篇). ZOJ1053(POJ ...
- javascript两种定时器的使用及其清除
<!--示例代码如下:--><!DOCTYPE html> <html> <body> <p>A script on this page s ...
随机推荐
- 36)PHP,搜寻数据库信息在html中显示(晋级1)
首先是数据库的样子展示: 然后就是我的PHP主文件了: <?php class db { public $host="localhost" ;//这个是主机的地址 publi ...
- 31)PHP,对象的遍历
对象的遍历: 对象也可以可以使用foreach语句进行便利,有两点注意: 1,只能便利属性.(所以,这个就解决了,为啥之前的数据库类,我只是看到了一些属性名字,而没有得到我的属性值) 2,只能便利“看 ...
- kubernetes flannel 网卡绑定错误,故障排查
kubernetes 新加了个node,状态Ready,但调度过去的任务,都执行异常 查看异常节点日志 `Error adding net work: open run/flannel/subnet. ...
- list集合、txt文件对比的工具类和文件读写工具类
工作上经常会遇到处理大数据的问题,下面两个工具类,是在处理大数据时编写的:推荐的是使用map的方式处理两个list数据,如果遇到list相当大数据这个方法就起到了作用,当时处理了两个十万级的list, ...
- xshell+xftp将项目部署到远程服务器上
Xshell 简介: Xshell 是一个强大的安全终端模拟软件,它支持SSH1, SSH2, 以及Microsoft Windows 平台的TELNET 协议. Xshell 通过互联网到远程主机的 ...
- Python爬虫之爬取站内所有图片
title date tags layut Python爬虫之爬取站内所有图片 2018-10-07 Python post 目标是 http://www.5442.com/meinv/ 如需在非li ...
- MergeSort(归并排序)原理及C++代码实现
归并排序利用分治策略进行排序.原理如下 分解:分解待排的n个元素的序列成个具n/2个元素的两个子序列. 解决:使用归并排序递归地排序两个子序列. 合并:合并两个已排序的子序列以产生已排序的答案. 归并 ...
- 1 jquery对checkbox的简单操作
//全选和全不选 votefunction selectAll(){ if($(":checkbox").prop('checked')){ //$(":chec ...
- JavaScript学习总结(九)事件详解
转自:http://segmentfault.com/a/1190000002174034 事件处理程序 在DOM中定义了一些事件, 而响应某个事件的函数就叫事件处理程序(或事件侦听器).事件处理程序 ...
- CF-1111B-Average Superhero Gang Power
首先,对于这题我们要知道要删除一个数使平均值最大一定是删除最小的数,然后我们假设删除操作执行了i次,也就是删除最小的i个数.在已知删除操作次数之后求增加操作的次数就容易了,当然是m - i和k * ( ...