js 基础算法练习题

时间:2023-02-23 13:47:10

<!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>