逻辑题
【程序1】
题目:有1、2、3、4个数字,能组成多少个互不相同且无重复数字的三位数?都是多少?
var a = 0;
for(var i = 1;i<5;i++){
for(var n = 1;n<5;n++){
for(var j = 1;j<5;j++){
if(i!=n&&i!=j&&n!=j){
a++;
console.log(""+i+""+n+""+j);
}
}
}
}
console.log(a);
【程序2】
题目:一个整数,它加上100后是一个完全平方数,再加上168又是一个完全平方数,请问该数是多少?
for(var i=1;i<10000000;i++){
var a =parseInt(Math.sqrt(i+100));
var b =parseInt(Math.sqrt(i+168));
if(a*a == (i+100)&&b*b ==(i+168)){
console.log(i);
}
}
【程序3】
题目:输入三个整数x,y,z,请把这三个数由小到大输出。
var a = parseInt(prompt("请输入你的一个数值"));
var b = parseInt(prompt("请输入你的二个数值"));
var c = parseInt(prompt("请输入你的三个数值"));
var n;
if(a>b){
n=a;
a=b;
b=n;
}
if(a>c){
n=c;
a=c;
c=n;
}
if(b>c){
n=b;
b=c;
c=n;
}
console.log(a,b,c);
【程序4】
题目:输出9*9口诀。
for(var i=1;i<=9;i++){
for(var n=1;n<=i;n++){
document.write(i+"*"+n+"="+i*n+" ");
}
document.write("<br/>");
}
【程序5】
题目:古典问题:有一对兔子,从出生后第3个月起每个月都生一对兔子,小兔子长到第三个月后每个月又生一对兔子,假如兔子都不死,问每个月的兔子总数为多少?
var t1,t2;
t1=t2=1;
for(var i=1;i<=12;i++){
console.log("第"+(i*2-1)+"个月,"+"生了"+t1+"对兔子。");
console.log("第"+(i*2)+"个月,"+"生了"+t2+"对兔子。");
t1=t1+t2;
t2=t1+t2;
}
【程序6】
题目:打印出所有的“水仙花数”,所谓“水仙花数”是指一个三位数,其各位数字立方和等于该数本身。例如:153是一个“水仙花数”,因为153=1的三次方+5的三次方+3的三次方。
for(var i=100;i<=999;i++){
var a = parseInt(i%10); //得到个位数
var b = parseInt(i%100/10); //得到十位数
var c = parseInt(i/100); //得到百位数
if(Math.pow(a,3)+Math.pow(b,3)+Math.pow(c,3)==i){
console.log(i);
}
}
【程序7】
题目:将一个正整数分解质因数。例如:输入90,打印出90=233*5。
var n = parseInt(prompt("请输出一个整数"));
var a = 0;
for(var i=2;i<=n;i++){
if(n%i==0){
a++;
if(a==1){
document.write(n+"="+i);
}else{
document.write("×"+i);
}
n=n/i;
i--;
}
}
if(a==0){
document.write(n+"为质数");
}else{
document.write("共有"+a+"个质因数");
}
【程序8】
题目:一个数如果恰好等于它的因子之和,这个数就称为“完数”。例如6=1+2+3.编程找出1000以内的所有完数。
var i,j,sum;
for(i=6;i<=1000;i++){
sum=1;
for(j=2;j<i;j++){
if(i%j==0){
sum+=j;
}
}
if(i==sum){
console.log("完数为:"+i);
console.log(1);
for( j=2; j<i; j++ ){
if(i%j == 0){
console.log(j);
}
}
}
}
【程序9】
题目:一球从100米高度自由落下,每次落地后反跳回原高度的一半;再落下,求它在第10次落地时,共经过多少米?第10次反弹多高?
var sum1 = 0, sum2 = 0, hight = 100.0;
for (var i = 0; i < 10; i++){
sum1 = sum1 + hight;
hight = hight / 2;
if (i < 9){
sum2 = sum2 + hight;
}
}
console.log("第10次落地时,共经过" + (sum1 + sum2) + "米");
console.log("第十次反弹高度为" + hight + "米");
【程序10】
题目:猴子吃桃问题:猴子第一天摘下若干个桃子,当即吃了一半,还不瘾,又多吃了一个 第二天早上又将剩下的桃子吃掉一半,又多吃了一个。以后每天早上都吃了前一天剩下的一半零一个。到第10天早上想再吃时,见只剩下一个桃子了。求第一天共摘了多少。
var total = 1;
var day = 10;
for(var i = 10;i > 0;i--){
console.log("第"+day+"天,有桃子"+total+"颗");
total = (total + 1) * 2;
day--;
}
【程序11】
题目:两个乒乓球队进行比赛,各出三人。甲队为a,b,c三人,乙队为x,y,z三人。已抽签决定比赛名单。有人向队员打听比赛的名单。a说他不和x比,c说他不和x,z比,请编程序找出三队赛手的名单。
for(var i =1;i<=3;i++){
for(var j =1;j<=3;j++){
if(i!=j) //这里放一个判断,比赛队员不能重复比赛,判断写在外面又可以减少循环次数
for(var k = 1;k<=3;k++){
if(i!=k&&j!=k) //同上,排除相同
if(i!=1&&k!=1&&k!=3) //这里根据题意排除掉不符合的名单
console.log("a和"+i+"\n"+"b和"+j+"\n"+"c和"+k+"\n");
}
}
}
【程序12】
题目:求1+2!+3!+...+20!的和
var s=0;
for(var i=1;i<=20;i++){
s=s+i*i;
}
console.log(s);
【程序13】
题目:有5个人坐在一起,问第五个人多少岁?他说比第4个人大2岁。问第4个人岁数,他说比第3个人大2岁。问第三个人,又说比第2人大两岁。问第2个人,说比第一个人大两岁。最后问第一个人,他说是10岁。请问第五个人多大?
var a=10;
for(var i=5;i>1;i--){
a=a+2;
console.log(a);
}
【程序14】
题目:给一个不多于5位的正整数,要求:一、求它是几位数,二、逆序打印出各位数字。
var a,b,c,d,e;
var x=parseInt(prompt('请输入一个正整数'));
a=parseInt(x/10000);
b=parseInt(x%10000/1000);
c=parseInt(x%1000/100);
d=parseInt(x%100/10);
e=parseInt(x%10);
if (a!=0){
console.log("这是五位数,逆序为:",e,d,c,b,a);
}else if (b!=0){
console.log("这是四位数,逆序为:",e,d,c,b);
}else if (c!=0){
console.log("这是三位数,逆序为:",e,d,c);
}else if (d!=0){
console.log("这是两位数,逆序为:",e,d);
}else if (e!=0){
console.log("这是一个个位数:",e);
}
【程序15】
题目:请输入星期几的第一个字母来判断一下是星期几,如果第一个字母一样,则继续判断第二个字母。
var n = prompt("请输入星期几的第一个字母,必须大写");
var i;
switch (n){
case "M":
alert("今天是星期一:Monday");
break;
case "W":
alert("今天是星期三:Wednesday");
break;
case "F":
alert("今天是星期五:Friday ");
break;
case "T":
i = prompt("请输入星期几的第二个字母,必须小写");
switch(i) {
case "u":
alert("今天是星期二:Tuesday");
break;
case "h":
alert("今天是星期四:Thursday");
break;
}
break;
case "S":
i = prompt("请输入星期几的第二个字母,必须小写");
switch (i) {
case "a":
alert("今天是星期六:Saturday");
break;
case "u":
alert("今天是星期天:Sunday");
break;
}
break;
default :
alert("输入有误");
}
var a = prompt("请输入每天单词的首字母,并且大写:");
var b;
if(a=='M'||a=='T'||a=='W'||a=='F'||a=='S'){
switch(a){
case "M":
alert('星期一');
break;
case "T":
b=prompt('请输入第二个字母,并且小写:');
switch(b){
case 'u':
alert('星期二');
break;
case 'h':
alert('星期四');
break;
}
break;
case "W":
alert('星期三');
break;
case "F":
alert('星期五');
break;
case "S":
b=prompt('请输入第二个字母,并且小写:');
switch(b){
case 'u':
alert('星期天');
break;
case 'a':
alert('星期六');
break;
}
break;
}
}else{
alert('您的输入有误!');
}