Web javascript四题测验
一、讨厌的数字3
要求:输出不含3的三位数,还不能是3的倍数,例如143的个位是3不可以,141是3的倍数也不可以。
var sum=100;
while(sum<=999){
var b=Math.floor(sum/100);
var c=Math.floor((sum%100)/10);
var d=Math.floor(sum%10);
if(d!=3&&sum%3!=0&&b!=3&&c!=3){
console.log(sum+"不是讨厌的数字");
}
sum++;
}
二、输出1000以内的完数
什么是完数:就是小于它本身的所有的约数之和等于它本身的数
例:第一个完全数是6,它有约数1、2、3、6,除去它本身6外,其余3个数相加,1+2+3=6。
第二个完全数是28,它有约数1、2、4、7、14、28,除去它本身28外,其余5个数相加,1+2+4+7+14=28。
什么是约数:1 X 6 = 2 X 3 = 6,6的约数为1,2,3,6
for(var n=1;n<=1000;n++)
{
var b=0;
for(var i=1;i<n;i++)
{
if(n%i==0)
{
b+=i;
}
}
if(b==n)
{
document.write(n+"是完数");
}
}
三、判断素数
什么是素数:在大于1的自然数中,除了1和它本身以外不再有其他约数
n=Number(prompt("请输入数字"));
for(var i=2;i<=n;i++)
{
if(i==n)
{
alert("n是素数");
}
else if(n%i==0)
{
alert("n不是素数");
break;
}
}
四、计算圆周率
var a,b,num;
a=1;
b=1;
do{
num=1/(a*2+1);
if(a%2==0){
b+=num;
}else {
b-=num;
}
a++;
}while (num>1e-6)
console.log(b*4);