JS练习题2共8题
<p>1 打印出1-100里所有的偶数</p>
<script>
// for(var i=1;i<=100;i++){
// if(i%2==0){
// document.write(i+" ");
// }
// }
</script>
<p>2 打印出1-100里所有的奇数</p>
<script>
// for(var i=1;i<=100;i++){
// if(i%2==1){
// document.write(i+" ");
// }
// }
</script>
<p>3 求出1-1/2+1/3-1/4…..1/100的结果</p>
<script>
// 把所有加减数都看成加数,如把(-1/2)看成+(-1/2)
var j=0; //保存所有加数
for(var i=2;i<=100;i++){ /*加数的分母,从2开始*/
if(i%2==0){ /*如果能是偶数,置为正数,-1/i*/
j+=-1/i; /*把这些数相加并保存起来*/
}else{ /*如果能是偶数,置为负数+1/i*/
j+=+1/i; /*把这些数相加并保存起来*/
}
}
console.log(1+j); /*然后加上所有的加数*/
</script>
<p>4 输出20-80之间能被3整除的整数,每5个一行</p>
<script>
var j=1;/*保存已经获得的个数*/
for(var i=20;i<=80;i++){
if(i%3==0){/*如果i是能被3整除的数*/
document.write(i+" ");就把i输出
if(j%5==0){/*如果是5的倍数,也就是满5个那就输入一个转行*/
document.write("<br>")
}
j++;
}
}
</script>
<p>5 打印出1000-2000年中所有的闰年,并以每行四个数的形式输出(提示:四年一闰,百年不闰,四百再闰)。</p>
<script>
//一
var j=0; /*保存闰个数*/
for(var i=1000;i<=2000;i++){
if((i%100!=0)){ /*不是100年的*/
if(i%4==0){ /*不是100年且是4年的*/
j++;
document.write(i+" ")
if(j%4==0){
document.write("<br>")
}
}
}else{
if(i%400==0){ /*是400年的*/
j++;
document.write(i+" ")
if(j%4==0){
document.write("<br>")
}
}
}
}
//二
var j=0; /*保存闰年个数*/
for(var i=1000;i<=2000;i++){
if((i%4==0&&i%100!=0)||(i%400==0)){ /*能被4整除且不能被100整数,或,能被400整除*/
j++;
document.write(i+" ");
if(j%4==0){ /*如果闰年个数为4个再输出一个转行*/
document.write("<br>");
}
}
}
</script>
<p>6 输入一个数,判断其是否为素数(提示:在大于1的自然数中,除了1和它本身以外不再有其他因数的数)。</p>
<script>
//方法一
document.write('<input id="ipt"><button id="btn">判断</button>');
var ipt=document.getElementById("ipt");
var btn=document.getElementById("btn");
btn.onclick=function(){
var j=0;/*保存因数个数*/
if(!(isNaN(ipt.value))&&!(ipt.value<=1)&&!(ipt.value=="")&&!(ipt.value%1!=0)){//条件分别是:不为非数字、不小于等于1、不为小数
for(var i=1;i<=ipt.value;i++){
if((ipt.value/i)%1==0){ /*如果余数为0,就是因数。 【(ipt.value/i)%1】 可以写成 【(ipt.value)%i】 */
j++;
}
}
if(j==2){ /*如果因数个数最大为2*/
alert("是素数")
}
}else{
alert("请输入大于1的整数")
}
} //方法二,数字4有问题
// document.write('<input id="ipt"><button id="btn">判断</button>');
// var btn=document.getElementById("ipt");
// var btn1=document.getElementById("btn");
// btn1.onclick=function(){
// var number=parseInt(btn.value);
// if(abc(number)){ /*如果abc()返回真才执行*/
// alert(number + "是素数");
// }else{
// alert(number + "不是素数");
// }
// }
// function abc(num){ /*相当于在函数内的声明了变量: var num*/
// if(num==1){ //1不是素数
// return false; //结束函数
// }else{
// for(var i=2;i<Math.sqrt(num);i++){ //如数字10中5(一半)以下的除不尽,5以上也没有能除尽的了。所以开方一下Math.sqrt,以减少循环。
// if(num%i==0){
// return false;
// }
// }
// }
// return true;
// } </script>
<p>7 求100-200之间的素数</p>
<script>
for(var i=100;i<=200;i++){
var k=0; /*保存因数个数*/
for(var j=1;j<=i;j++){ /*除数*/
if((i/j)%1==0){ 如果商没有小数,开始合计因数个数
k++;
}
}
if(k==2){ /*因数总个数为2就是素数*/
document.write(i+" ")
}
}
</script>
<p>8 任给正整数n,计算 1!+2!+3!+ …+n!。(提示:3!=3*2*1)</p>
<script>
document.write('<input id="ipt"><button id="btn">计算</button>');
var ipt=document.getElementById("ipt");
var btn=document.getElementById("btn");
var j=1; /*保存阶乘值*/
var k=0; /*保存阶乘值的和*/
btn.onclick=function(){
if(!(isNaN(ipt.value)) && !(ipt.value%1!=0) && !(ipt.value<1)){
for(var i=1;i<=ipt.value;i++){
j*=i;
k+=j;
}
alert(k)
}else{
alert("请输入大于1的整数")
}
}
</script>
<p>9 求Sn=a+aa+aaa+……+aa……a之值,其中a是一个数字,n是文本框输入的。</p>
<script>
document.write('输入a:<input id="ipt" value>输入n:<input id="ipt2"><button id="btn">计算</button>')
btn.onclick=function(){
var s1=0;
var s2=0;
var a=document.getElementById("ipt");
var n=document.getElementById("ipt2");
var btn=document.getElementById("btn");
if((!(isNaN(n.value)) && !(n.value<1) && !(n.value%1!=0)) && !(isNaN(a.value)) && !(a.value<1) && !(a.value%1!=0)){
for(var i=0;i<=(n.value-1);i++){ /*i是次方*/
s1+=a.value*Math.pow(10,i); /*从低位开始还原数位,如1=1*10^1;10=1*10^2;100=10*10^3;...再把他们相加,也就是s1,合成完整数字。如111*/
s2+=s1; /*把每次合成的值保存在s2中,作为题目中的加数之一*/
}
alert(s2*2-s1);//从题目的式子可以看出,1+11+111+11+1,其中出了111只被加一次其他都加了两次,所以直接把之前计算的s2*2再减去最后合成的一个数s1就可以了。
}else{
alert("请输入大于0的整数")
}
} document.write('输入a:<input id="ipt" value>输入n:<input id="ipt2"><button id="btn">计算</button>')
btn.onclick=function(){
var s1=0;
var s2=0;
var a=document.getElementById("ipt");
var n=document.getElementById("ipt2");
var btn=document.getElementById("btn");
if((!(isNaN(n.value)) && !(n.value<1) && !(n.value%1!=0)) && !(isNaN(a.value)) && !(a.value<1) && !(a.value%1!=0)){
for(var i=0;i<=(n.value-1);i++){ /*i是次方*/
s1+=a.value*Math.pow(10,i); /*从低位开始还原数位,如1=1*10^1;10=1*10^2;100=10*10^3;...再把他们相加,也就是s1,合成完整数字。如111*/
s2+=s1; /*把每次合成的值保存在s2中,作为题目中的加数之一*/
}
alert(s2);//从题目的式子可以看出,1+11+111+11+1,其中出了111只被加一次其他都加了两次,所以直接把之前计算的s2*2再减去最后合成的一个数s1就可以了。
}else{
alert("请输入大于0的整数")
}
}
</script>
JS练习题2共8题的更多相关文章
- JS练习题1共7题
<p>1 一个新人入职,月工资为2000元的员工,每年涨工资5%,到退休时的月工资是多少?</p> <script> document.write(Math.rou ...
- Leetcode 简略题解 - 共567题
Leetcode 简略题解 - 共567题 写在开头:我作为一个老实人,一向非常反感骗赞.收智商税两种行为.前几天看到不止两三位用户说自己辛苦写了干货,结果收藏数是点赞数的三倍有余,感觉自己的 ...
- 2019前端面试系列——JS高频手写代码题
实现 new 方法 /* * 1.创建一个空对象 * 2.链接到原型 * 3.绑定this值 * 4.返回新对象 */ // 第一种实现 function createNew() { let obj ...
- 【js】Leetcode每日一题-制作m束花所需的最少天数
[js]Leetcode每日一题-制作m束花所需的最少天数 [题目描述] 给你一个整数数组 bloomDay,以及两个整数 m 和 k . 现需要制作 m 束花.制作花束时,需要使用花园中 相邻的 k ...
- 【js】Leetcode每日一题-完成所有工作的最短时间
[js]Leetcode每日一题-完成所有工作的最短时间 [题目描述] 给你一个整数数组 jobs ,其中 jobs[i] 是完成第 i 项工作要花费的时间. 请你将这些工作分配给 k 位工人.所有工 ...
- 【js】Leetcode每日一题-数组异或操作
[js]Leetcode每日一题-数组异或操作 [题目描述] 给你两个整数,n 和 start . 数组 nums 定义为:nums[i] = start + 2*i(下标从 0 开始)且 n == ...
- 【js】Leetcode每日一题-解码异或后数组
[js]Leetcode每日一题-解码异或后数组 [题目描述] 未知 整数数组 arr 由 n 个非负整数组成. 经编码后变为长度为 n - 1 的另一个整数数组 encoded ,其中 encode ...
- 【js】Leetcode每日一题-叶子相似的树
[js]Leetcode每日一题-叶子相似的树 [题目描述] 请考虑一棵二叉树上所有的叶子,这些叶子的值按从左到右的顺序排列形成一个 叶值序列 . 举个例子,如上图所示,给定一棵叶值序列为 (6, 7 ...
- 【js】Leetcode每日一题-子数组异或查询
[js]Leetcode每日一题-子数组异或查询 [题目描述] 有一个正整数数组 arr,现给你一个对应的查询数组 queries,其中 queries[i] = [Li, Ri]. 对于每个查询 i ...
随机推荐
- Jquery实现遮罩层,就是弹出DIV周围都灰色不能操作
<%@ page language="java" pageEncoding="UTF-8"%> <!DOCTYPE html PUBLIC & ...
- laravel 数据库迁移
问题:之前有创建迁移文件 并且执行过 如果删除迁移文件 再重新创建迁移文件时就有问题 提示找不到之前的迁移文件 /** 一开始执行的命令 php artisan make:migration crea ...
- xUtils框架的使用
xUtils简介 xUtils 包含了很多实用的android工具,xUtils 源于Afinal框架,对Afinal进行了大量重构,使得xUtils支持大文件上传,更全面的http请求协议支持,拥有 ...
- smarty模板原理
smarty模板原理 模板主要是用来让前端和后端分离的,前台页面只是一个前台页面,后台页面用php代码写逻辑,写完逻辑拿到前台显示. 一.写法 一般需要以下:写3个页面: 1.显示页面aa.htm ...
- Dynamic CRM2016在一台本地服务器安装部署
在本地单独一台服务器上安装部署CRM2016时需要提前安装好CRM软件需要的必备软件,具体需要安装的组件如下截图:其中required为必须具备的安装组件.license可以采用微软官网的90天测试版 ...
- css基本知识框架(转)
css基本知识框架: 1.css样式表的基本概念 2.样式表基本类型-----1.内嵌样式 2.内联样式3.链入外部样式表4.导入外部?式 3.样式表配置方法 4.字体属性----1.font-fam ...
- 磁盘配额quota应用
1.文件系统支持 quota是针对整个文件系统来进行规划,所以我们得先查一下/home是否是个独立的文件系统. [root@Monitor home]# df -h /home Filesystem ...
- 关于php中正则匹配包括换行符在内的任意字符的问题总结
要使用正则匹配任意字符的话,通常有以下几种方法,这里我分别对每一种方法在使用的过程中做一个总结: 第一种方式:[.\n]*? 示例 ? PHP preg_match_all('/<div cla ...
- Maven学习之 Settings
虽然天天在用,但是没有系统的学习过,总觉得别扭. 只能用于Java项目. 约定: repository 翻译成 仓库 build 翻译成 构建 build system 翻译成 构建系统 build ...
- RAID配置
一.madam -a 检测设备名称 -n 指定硬盘数量 -l 指定raid级别 -C 创建 -f 模拟硬盘故障 -r 移除硬盘 -a ...