程序员50题(JS版本)(三)

时间:2023-12-16 11:30:02
程序11:判断101~200之间有多少个素数,并输出所有素数
for(var i=101,num=0;i<=200;i++){
for(var j=2;j<=i;j++){
if(i%j==0&&j!=i){
tag=1;
break;
}else{
if(j==i){
console.log(i);
}
}
}
}
console.log(num);
结果
101
103
107
109
113
127
131
137
139
149
151
157
163
167
173
179
181
191
193
197
199
21
程序12:打印出所有的“水仙花数”,即其各位数字立方和等于该数本身
for(var i=100;i<=999;i++){
var a=parseInt(i/100);
var b=parseInt(i/10-10*a);
var c=parseInt(i-100*a-10*b);
if(a*a*a+b*b*b+c*c*c==i){
console.log(i);
}
}
结果
153
370
371
407
程序13:利用条件运算符的嵌套来完成此题:学习成绩>=90分的同学用A表示,60-89分之间的用B表示,6.0分以下的用C表示。
var score=93;
var a=parseInt(score/10);
if(score<=100){
switch (a){
case 10:
case 9:
console.log('A');
break;
case 8:
case 7:
case 6:
console.log('B');
break;
case 5:
case 4:
case 3:
case 2:
case 1:
case 0:
console.log('C');
break;
default:
console.log('无效分数');
}
}else{
console.log('无效分数');
}
程序14:输入两个正整数m和n,求其最大公约数和最小公倍数
var m=88;
var n=77;
for(var i=min(m,n);i>1;i--){
if(m%i==0 && n%i==0){
console.log('最大公约数是'+i);
break;
}
}
for(var i=max(m,n);;i++){
if(i%m==0 && i%n==0){
console.log('最小公倍数是'+i);
break;
}
}
function max(m,n){
var a;
m>n ? a=m:a=n;
return a;
}
function min(m,n){
var a;
m>n ? a=n:a=m;
return a;
}
结果
最大公约数是11
最小公倍数是616
程序15:输入一行字符,分别统计出其中英文字母、空格、数字和其他字符的个数。
//字符串类型有方法,也可以当数组用
var str='ewg tr3t/ua w4.3ygd3ey/fd3265t43aws3';
for(var i=0,eng=0,space=0,num=0,other=0;i<str.length;i++){
if((str[i]>='a'&&str[i]<='z')||(str[i]>='A'&&str[i]<='Z')){
eng+=1;
}else if(str[i]==' '){
space+=1;
}else if((str[i]>='0'&&str[i]<='9')){
num+=1;
}else{
other+=1;
}
}
console.log(str.length);
console.log(eng);
console.log(space);
console.log(num);
console.log(other);
结果
37
20
3
11
3