js 基础算法练习题

<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>js简单计算题</title>
</head>
<body>
<h1>1、计算从1加到100的和</h1>
<script>
var sum = 0;
for(var i=1;i<=100;i++){
sum = sum+ i;
}
document.write(sum);
</script>
<h1>2、求出1-100以内的质数</h1>
<script>
/*1-100所有的质数*/
var i = 0;
var j = 0;

for(i = 1; i <= 100; i++)
{
var count = 0; //计数器,注意不能写到外面去

for(j = 1; j <= i; j++)
{
if(i % j == 0)
{
count++;
}
}

//只有两个约数的话,就说明是质数。
if(count == 2)
{
document.write(i+"&nbsp");
}
}

</script>
<h1>3、计算6+66+666+6666+66666……6666666666</h1>
<script type="text/javascript">
var i = 1;
var sum = 0;
var j = 6;
for (i;i<10;i++) {
j = 10*j + 6; //保持最后一位数为0
sum = sum + j; //此时的sum没有加上第一个6 所以需要再加一个6即可

}
sum = sum +6;
document.write(sum);
</script>
<h1>4、苹果3元一个,鸭梨2元一个,桃子1元一个。现在想用200元买100个水果,在控制台中列出所有可能性。</h1>
<script type="text/javascript">
var apple = 0; //苹果个数
var pear = 0; //梨个数
var peach = 0; //桃子个数

for(apple = 0; apple <= 100; apple++)
{
for(pear = 0; pear <= 100; pear++)
{
for(peach = 0; peach <= 100; peach++)
{
if((apple * 3 + pear * 2 + peach * 1 == 200) && (apple + pear + peach) == 100)
{
document.write("苹果:"+apple+"&nbsp梨:"+pear+"&nbsp桃子:"+peach+"<br />")
}
}
}
}

</script>
<h1>5、判断闰年和平年</h1>
<script>

while(1)
{
var nYear = prompt("请用户输入一个年份:(如:2000)");//输入弹框 输入要测得年份

if(nYear % 4 == 0 && nYear % 100 != 0 || nYear % 400 == 0)
{
alert("这个年份为闰年");
}
else
{
alert("这个年份是平年");
}
}

</script>
<h1>6、判断一个数是不是素数(质数):</h1>
<script type="text/javascript">
while(1)
{
var num = prompt("请用户输入一个大于2的数:(如:200)");
for(var i=2;i<num;i++){
if(num%i==0){
alert("这不是一个质数!");
}
else{
alert(‘这是一个质数‘);
}
}

}
</script>
<h1>7、求10000以内的完美数 如果一个数恰好等于它的约数之和,则称该数位“完美数”。</h1>

<script>
/*完美数*/

for(var i = 1; i <= 10000; i++)
{
var sum = 0;

for(var y = 1; y < i; y++)
{
if(i % y == 0)
{
sum += y;
}
}

if(sum == i)
{
document.write(i+"&nbsp");
}
}
</script>
<h1>8、如果今天是星期二,那么1000天后是星期几?用户输入一个天数,计算这个天数后是星期几?
如果今天是星期二,1000天后是星期一。</h1>
<script>
var today = parseInt(prompt("请输入今天是星期几","2"));
var day = parseInt(prompt("请输入一个任意整数天数","1000"));

var future = (today + day) % 7;
if(future == 0){
future = 7;
}

alert("星期"+today+"的"+day+"天之后是星期" + future);
</script>
<h1>9、求n的阶乘</h1>
<script>
var n = parseInt(prompt("请输入一个数","2"));

for(var i = 1; i < n; i++){
n = n*i;
}
alert(n);
</script>
<h1>10、求n的阶乘的和</h1>
<script>
var n = parseInt(prompt("请输入一个数","2"));
var sum =0;

for(var i = 1; i <= n; i++){
var x = 1;
for(var j = 1; j <= i; j++){
x *= j;
}
sum += x;
}
alert(sum);
</script>

</body>
</html>

原文地址:https://www.cnblogs.com/Godfather-twq/p/11218270.html

时间: 2024-11-09 19:21:10

js 基础算法练习题的相关文章

FCC之JS基础算法总结1

1.翻转字符串 解决思路:先把字符串转化成数组,再借助数组的reverse方法翻转数组顺序,最后把数组转化成字符串. 1 function reverseString(str) { 2 var arr = []; 3 arr = str.split(""); 4 arr.reverse(); 5 str = arr.join(""); 6 return str; 7 } 8 9 reverseString("hello"); 主要是对String

FCC JS基础算法题(2):Check for Palindromes(检查回文字符串)

题目描述: 如果给定的字符串是回文,返回true,反之,返回false.如果一个字符串忽略标点符号.大小写和空格,正着读和反着读一模一样,那么这个字符串就是palindrome(回文).注意你需要去掉字符串多余的标点符号和空格,然后把字符串转化成小写来验证此字符串是否为回文.函数参数的值可以为"racecar","RaceCar"和"race CAR". 算法: function palindrome(str) { var str_obj = s

FCC JS基础算法题(0):Reverse a String(翻转字符串)

题目描述: 先把字符串转化成数组,再借助数组的reverse方法翻转数组顺序,最后把数组转化成字符串.你的结果必须得是一个字符串. 算法: function reverseString(str) { // 请把你的代码写在这里 str = str.split("").reverse().join(""); return str; } reverseString("hello"); 原文地址:https://www.cnblogs.com/hume

FCC JS基础算法题(1):Factorialize a Number(计算一个整数的阶乘)

题目描述: 如果用字母n来代表一个整数,阶乘代表着所有小于或等于n的整数的乘积.阶乘通常简写成 n!例如: 5! = 1 * 2 * 3 * 4 * 5 = 120. 算法: function factorialize(num) { // 请把你的代码写在这里 var result = 1; for(var i=2;i <= num;i++){ result *= i; } return result; } factorialize(1); 原文地址:https://www.cnblogs.co

Js基础算法题

1.字符串翻转 1 要求:先把字符串转化成数组,再借助数组的reverse方法翻转数组顺序,最后把数组转化成字符串 2 3 function reverseString(str) { 4 str=str.split('').reverse().join(''); 5 return str; 6 } 7 reverseString("hello"); 8 //split方法把字符串转换成数组 9 //reverse方法翻转数组顺序 10 //join 方法来把数组转换成字符串 2.如果给

FCC JS基础算法题(8):Slasher Flick(截断数组)

题目描述: 返回一个数组被截断n个元素后还剩余的元素,截断从索引0开始. 这个题目有两个方法,都比较简单,用slice方法: function slasher(arr, howMany) { // 请把你的代码写在这里 var newArr = []; newArr = arr.slice(howMany); return newArr; } slasher([1, 2, 3], 2); 然后是用splice方法: function slasher(arr, howMany) { // 请把你的

FCC JS基础算法题(7):Chunky Monkey(分割数组)

题目描述: 把一个数组arr按照指定的数组大小size分割成若干个数组块. 例如:chunk([1,2,3,4],2)=[[1,2],[3,4]]; chunk([1,2,3,4,5],2)=[[1,2],[3,4],[5]]; 没什么好说的,自己做出的方法与网络上的差别不大,以下是代码: function chunk(arr, size) { // 请把你的代码写在这里 var newarr = []; for (var i = 0; i < arr.length; i+=size){ new

今天给大家分享一下js中常用的基础算法,废话不多说,直接上代码

今天给大家分享一下js中常用的基础算法,废话不多说,直接上代码: 1.两个数字调换顺序 var a = 2,b=4 function fun(a,b){ b = b - a ;// a = 2 ; b = 2 a = a + b // a = 4 ; b = 2; b = a - b;// a = 4 ; b = 2 return [a,b] } fun(a,b) // a = 4 ;b = 2 2.对象排序,安装对象中的id排序对象的位置: var arr = [ { nama: 'a', i

js基础练习题(1)

1.字符串 视频教程地址: js基础练习题 1.如何连接两个或者两个以上字符串? var cssname = 'box' var num = 1 var html = '<div class="box">这里是box1</div>' 问:如何把变量html里面的class属性值box换成变量,如何把'box1'里的1换成变量num 2.如何比较两个字符串看它们是否相同? 3.如何查找一个字符串是否在另一个字符串中? 4.如何从一个字符串中提取一个子字符串,例如: