算法javascript题库,javascript编程题

急求!!!计算机JAVASCRIPT编程代码!!!题目为求[100,200]之间第一个能被21整除的整数!

第一个:

凌云ssl适用于网站、小程序/APP、API接口等需要进行数据传输应用场景,ssl证书未来市场广阔!成为创新互联的ssl证书销售渠道,可以享受市场价格4-6折优惠!如果有意向欢迎电话联系或者加微信:18980820575(备注:SSL证书合作)期待与您的合作!

for(var i = 100,i=200,++i){

if(i%21 === 0){

alert(i);

break;

}

}

第二题

首先这种数不是叫完成,而是叫完数,英文perfectnumber(完美数)

//用来判断数字是不是完数的函数:

function is_perfect_number(num){

var sum = 0;

for(var i=1;inum;++i){

if (num%i == 0) {

sum += i;

}

}

return sum == num;

}

//初始化一个空数组,用来保存结果

var result = [];

for(var i=1;i=500;++i){

//如果是完数就放进数组里

if (is_perfect_number(i)) {

result.push(i);

}

}

//输出结果

alert(result);

上面的方法是用的最笨的方法求的,你可以去搜索一下完数的性质,利用性质可以写出更简单的算法来求完数

javascript算法题,26个字母和数字转换,怎么做

26个字母转为ASCII码:

var c = 'A';

console.log(c.charCodeAt(0));

26个字母转换为1~26对应的数字:

var c = 'A';  //字母

console.log(c.toLocaleLowerCase().charCodeAt(0) - 96);

前端算法入门:刷算法题常用的 JS 基础扫盲

此篇属于前端算法入门系列的第一篇,主要介绍常用的 数组方法 、 字符串方法 、 遍历方法 、 高阶函数 、 正则表达式 以及相关 数学知识 。

在尾部追加,类似于压栈,原数组会变。

在尾部弹出,类似于出栈,原数组会变。数组的 push pop 可以模拟常见数据结构之一:栈。

在头部压入数据,类似于入队,原数组会变。

在头部弹出数据,原数组会变。数组的 push (入队) shift (出队) 可以模拟常见数据结构之一:队列。

concat 会在当前数组尾部拼接传入的数组,然后返回一个新数组,原数组不变。

在数组中寻找该值,找到则返回其下标,找不到则返回 -1 。

在数组中寻找该值,找到则返回 true ,找不到则返回 false 。

将数组转化成字符串,并返回该字符串,不传值则默认逗号隔开,原数组不变。

翻转原数组,并返回已完成翻转的数组,原数组改变。

从 start 开始截取到 end ,但是不包括 end

可参考 MDN:Sort [5]

将数组转化成字符串,并返回该字符串,逗号隔开,原数组不变。

返回指定索引位置处的字符。类似于数组用中括号获取相应下标位置的数据。

类似数组的concat(),用来返回一个合并拼接两个或两个以上字符串。原字符串不变。

indexOf ,返回一个字符在字符串中首次出现的位置, lastIndexOf 返回一个字符在字符串中最后一次出现的位置。

提取字符串的片断,并把提取的字符串作为新的字符串返回出来。原字符串不变。

使用指定的分隔符将一个字符串拆分为多个子字符串数组并返回,原字符串不变。

match() 方法可在字符串内检索指定的值,或找到一个或多个正则表达式的匹配,并返回一个包含该搜索结果的数组。

注意事项 :如果 match 方法没有找到匹配,将返回 null 。如果找到匹配,则 match 方法会把匹配到以数组形式返回,如果正则规则未设置全局修饰符 g ,则 match 方法返回的数组有两个特性: input 和 index 。 input 属性包含整个被搜索的字符串。 index 属性包含了在整个被搜索字符串中匹配的子字符串的位置。

replace 接收两个参数,参数一是需要替换掉的字符或者一个正则的匹配规则,参数二,需要替换进去的字符,仔实际的原理当中,参数二,你可以换成一个回调函数。

在目标字符串中搜索与正则规则相匹配的字符,搜索到,则返回第一个匹配项在目标字符串当中的位置,没有搜索到则返回一个 -1 。

toLowerCase 把字母转换成小写, toUpperCase() 则是把字母转换成大写。

includes 、 startsWith 、 endsWith , es6 的新增方法, includes 用来检测目标字符串对象是否包含某个字符,返回一个布尔值, startsWith 用来检测当前字符是否是目标字符串的起始部分,相对的 endwith 是用来检测是否是目标字符串的结尾部分。

返回一个新的字符串对象,新字符串等于重复了指定次数的原始字符串。接收一个参数,就是指定重复的次数。原字符串不变。

最常用的 for 循环,经常用的数组遍历,也可以遍历字符串。

while 、 do while 主要的功能是,当满足 while 后边所跟的条件时,来执行相关业务。这两个的区别是, while 会先判断是否满足条件,然后再去执行花括号里面的任务,而 do while 则是先执行一次花括号中的任务,再去执行 while 条件,判断下次还是否再去执行 do 里面的操作。也就是说 do while 至少会执行一次操作 .

拷贝一份遍历原数组。

for…of 是 ES6 新增的方法,但是 for…of 不能去遍历普通的对象,** for…of 的好处是可以使用 break 跳出循环。**

面试官:说一下 for...in 和 for...of 区别?

返回一个布尔值 。当我们需要判定数组中的元素是否满足某些条件时,可以使用 every / some 。这两个的区别是, every 会去判断判断数组中的每一项,而 some 则是当某一项满足条件时返回。

reduce 从左到右将数组元素做“叠加”处理,返回一个值。 reduceRight 从右到左。

Object.keys 方法的参数是一个对象,返回一个数组。该数组的成员都是该对象自身的(而不是继承的)所有属性名,且只返回可枚举的属性。

Object.getOwnPropertyNames 方法与 Object.keys 类似,也是接受一个对象作为参数,返回一个数组,包含了该对象自身的所有属性名。但它能返回不可枚举的属性。

这里罗列一些我在刷算法题中遇到的正则表达式,如果有时间可认真学一下 正则表达式不要背 [7] 。

持续更新,敬请期待……

若一个正整数无法被除了 1 和它自身之外的任何自然数整除,则称该数为质数(或素数),否则称该正整数为合数。

javascript问题

for(index in score)

--

score 是一个数组,for(index in score)表示以index(index是一个变量)为单位,循环的每一位(因为score是数组),假设score的值为1,2,3,4,5,6,7 那么for(index in score)就会循环7次,score的值就会变化7次,分别是前面的1 ,然后2,然后3……

if(index%2==1)

----

%是js的一个运算符,表示余数,例如 12%5,运算结果就是 12%5=2,算法是:先用12减去一个5,如果结果大于5的话,就继续减,直到值小于5并大于零, 12减去一个5得7,7再减一个5得2,那么这个2就是12%5的值..

== 两个等号是js的等值运算符,表示等于的意思,相当与我们数学里的 = 号.而我们我们数学里的 = 号,在js里是赋值运算符 var a;a=3; 意思就是把这个变量 a 赋值为3

如果对js感兴趣 就去买本书从基础学起吧

用JavaScript,求1到100内所有的质数,(质数就是素数),不用函数方法,用循环和brea

一:十万一下的 呵呵算法一:

测试 10 万以下的质数: 程序代码

// 获得 0 到 limit 之间的素数

// author: dron

function getPrimeNumbers(limit){

var result = [2];

var is;

if(limit 2)

return [];

for(var i = 3, s; i = limit; i += 2){

is = true;

s = Math.sqrt(i);

for(var j = 0, r, l = result.length; j = l; j ++){

r = result[j];

if(r s)

break;

if(i % r)

continue;

is = false;

break;

}

is result.push(i);

}

return result;

}算法二: 程序代码

var stopwatch = new Date(); // 计时器, 初始化.

var MaxNum = 100000; // 查找 2到MaxNum 这范围内的素数 ( MaxNum 要= 2 ).

var i, j; // 计数器.

var count = 1; // 初始化素数的个数, 因为我们从2开始计, 所以初始化为 1.

var PrimeTemp = []; // 在这个数组做记号, 做了记号的, 全不是素数.

var PrimeArys = [2]; // 贮存素数的 数组. 因为 MaxNum = 2, 所以第一个数组元素的值为 2 .

var oNum = Math.ceil( Math.sqrt( MaxNum ) ); // 为什么用 开方? 看到下面2个 for 没.

// 把不是素数的做 "记号".

for(i=3; ioNum; i+=2) // +=2 ??? 我们整个程序都不用双数, 全用单数, 这样就快2倍了.

if( PrimeTemp[i]==null ) // 初始化 PrimeTemp 的数组, 数组里面当然什么都没有.

for(j=i; i*j=MaxNum; j+=2) // i 的 j 倍一定不是素数, 但我们要 i*j 来看看是否超过了 MaxNum

PrimeTemp[ i*j ] = 0; // 初始化 PrimeTemp 里的元素, 现在来帮它们做一个 "记号". 因为这个元素"不是"素数.

// 输出素数了.

for(i=3; i=MaxNum; i+=2) // +=2 ,不要忘记, 我们不用双数的.

if( PrimeTemp[i]==null ) // 如果是 true , 这就表明 这个没有被做 "记号" , 所以它是 素数.

PrimeArys[ count++ ] = i; // 是 素数 的话, 就存入 PrimeArys 数组.

document.write( PrimeArys.join(" ") , "brbr从2到"+MaxNum+"共有素数 "+count+" 个。"); // 用 join()提高输出效率

var t=new Date()-stopwatch;

alert("本次运行了 "+t+" 毫秒。"); //看看 程序运行了多久.二:简单点的script

function look(num){

time=new Date();

a=new Array(2,3,5,7,11,13,17,19,23,29,31,37)

for(x=41;xnum;x+=2)

{

if(aa3(x))a[a.length]=x

}

time=new Date()-time;

document.write(a.toString().replace(/\,/g,"br"))

alert("共"+a.length+"个,用时"+time+"毫秒")

}function aa3(n)

{

if(n%3==0)return false

if(n%5==0)return false

var b=a.length

for(var y=3;yb;y++){if(n%a[y]==0)return false}

return true

}/script

input id=aa value=10000input type=button value=计算 onclick=look(aa.value)

2题、利用JavaScript编写一个随意确定N的数值并计算且显示出1+2+3+...+N的和的页面

2.题

=================================

script language="javascript"

function test2()

{

var n=document.getElementById("num").value;

if(/^[1-9]\d*$/.test(n)==false){return false;}

sum=0

n++

for(i=1;in;i++){

sum+=i

}

if(sum==0){return false;}

window.location=sum+".htm"

}

/script

计算1到n之和:

input id="num" type="text"

input type="button" onclick="test2()" value="计算"

=================================

3.题

=================================

script language="javascript"

function test1()

{

var n= window.prompt("请输入数字:计算1-n之和的平方");

if(/^[1-9]\d*$/.test(n)==false){return false;}

sum=0

n++

for(i=1;in;i++){

sum+=i

}

sum=sum*sum

alert("计算结果是:"+sum)

}

function test2()

{

var n=document.getElementById("num").value;

if(/^[1-9]\d*$/.test(n)==false){return false;}

sum=0

n++

for(i=1;in;i++){

sum+=i

}

if(sum==0){return false;}

window.location=sum+".htm"

}

window.onload=test1

window.onunload=function(){alert("欢迎下次使用")}

/script

计算1到n之和:

input id="num" type="text"

input type="button" onclick="test2()" value="计算"


网站名称:算法javascript题库,javascript编程题
分享链接:http://ybzwz.com/article/dsepscj.html