邏輯題
【程序1】
題目:有1、2、3、4個數(shù)字,能組成多少個互不相同且無重復(fù)數(shù)字的三位數(shù)?都是多少?
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】
題目:一個整數(shù),它加上100后是一個完全平方數(shù),再加上168又是一個完全平方數(shù),請問該數(shù)是多少?
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】
題目:輸入三個整數(shù)x,y,z,請把這三個數(shù)由小到大輸出。
var a = parseInt(prompt("請輸入你的一個數(shù)值"));
var b = parseInt(prompt("請輸入你的二個數(shù)值"));
var c = parseInt(prompt("請輸入你的三個數(shù)值"));
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個月起每個月都生一對兔子,小兔子長到第三個月后每個月又生一對兔子,假如兔子都不死,問每個月的兔子總數(shù)為多少?
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】
題目:打印出所有的“水仙花數(shù)”,所謂“水仙花數(shù)”是指一個三位數(shù),其各位數(shù)字立方和等于該數(shù)本身。例如:153是一個“水仙花數(shù)”,因?yàn)?53=1的三次方+5的三次方+3的三次方。
for(var i=100;i<=999;i++){
var a = parseInt(i%10); //得到個位數(shù)
var b = parseInt(i%100/10); //得到十位數(shù)
var c = parseInt(i/100); //得到百位數(shù)
if(Math.pow(a,3)+Math.pow(b,3)+Math.pow(c,3)==i){
console.log(i);
}
}
【程序7】
題目:將一個正整數(shù)分解質(zhì)因數(shù)。例如:輸入90,打印出90=233*5。
var n = parseInt(prompt("請輸出一個整數(shù)"));
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+"為質(zhì)數(shù)");
}else{
document.write("共有"+a+"個質(zhì)因數(shù)");
}
【程序8】
題目:一個數(shù)如果恰好等于它的因子之和,這個數(shù)就稱為“完數(shù)”。例如6=1+2+3.編程找出1000以內(nèi)的所有完數(shù)。
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("完數(shù)為:"+i);
console.log(1);
for( j=2; j<i; j++ ){
if(i%j == 0){
console.log(j);
}
}
}
}
【程序9】
題目:一球從100米高度自由落下,每次落地后反跳回原高度的一半;再落下,求它在第10次落地時,共經(jīng)過多少米?第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次落地時,共經(jīng)過" + (sum1 + sum2) + "米");
console.log("第十次反彈高度為" + hight + "米");
【程序10】
題目:猴子吃桃問題:猴子第一天摘下若干個桃子,當(dāng)即吃了一半,還不癮,又多吃了一個 第二天早上又將剩下的桃子吃掉一半,又多吃了一個。以后每天早上都吃了前一天剩下的一半零一個。到第10天早上想再吃時,見只剩下一個桃子了。求第一天共摘了多少。
var total = 1;
var day = 10;
for(var i = 10;i > 0;i--){
console.log("第"+day+"天,有桃子"+total+"顆");
total = (total + 1) * 2;
day--;
}
【程序11】
題目:兩個乒乓球隊進(jìn)行比賽,各出三人。甲隊為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) //這里放一個判斷,比賽隊員不能重復(fù)比賽,判斷寫在外面又可以減少循環(huán)次數(shù)
for(var k = 1;k<=3;k++){
if(i!=k&&j!=k) //同上,排除相同
if(i!=1&&k!=1&&k!=3) //這里根據(jù)題意排除掉不符合的名單
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個人歲數(shù),他說比第3個人大2歲。問第三個人,又說比第2人大兩歲。問第2個人,說比第一個人大兩歲。最后問第一個人,他說是10歲。請問第五個人多大?
var a=10;
for(var i=5;i>1;i--){
a=a+2;
console.log(a);
}
【程序14】
題目:給一個不多于5位的正整數(shù),要求:一、求它是幾位數(shù),二、逆序打印出各位數(shù)字。
var a,b,c,d,e;
var x=parseInt(prompt('請輸入一個正整數(shù)'));
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("這是五位數(shù),逆序?yàn)椋?,e,d,c,b,a);
}else if (b!=0){
console.log("這是四位數(shù),逆序?yàn)椋?,e,d,c,b);
}else if (c!=0){
console.log("這是三位數(shù),逆序?yàn)椋?,e,d,c);
}else if (d!=0){
console.log("這是兩位數(shù),逆序?yàn)椋?,e,d);
}else if (e!=0){
console.log("這是一個個位數(shù):",e);
}
【程序15】
題目:請輸入星期幾的第一個字母來判斷一下是星期幾,如果第一個字母一樣,則繼續(xù)判斷第二個字母。
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('您的輸入有誤!');
}