1.单个水仙花数判断
水仙花数是指一个 3 位数,它的每个位上的数字的 3次幂之和等于它本身(例如:1^3 + 5^3+ 3^3 = 153)。
var flower = parseInt(prompt("请输入一个数字"));
// 判断是否是三位数
if (flower >= 100 && flower <= 999) {
var digit = flower % 10;
var decade = parseInt(flower / 10) % 10;
var hundred = parseInt(flower / 100);
if (digit * digit * digit + decade * decade * decade + hundred * hundred * hundred == flower) {
document.write(`${flower}是水仙花数`);
} else {
document.write(`${flower}不是水仙花数`);
}
}else{
document.write(`输入数字:${flower}不合法`);
}
2. 水仙花数循环
// 打印出所有的水仙花数
for(var i=100;i<=999;i++){
var digit = i % 10;
var decade = parseInt(i / 10) % 10;
var hundred = parseInt(i / 100);
if (digit * digit * digit + decade * decade * decade + hundred * hundred * hundred == i) {
document.write(`${i}是水仙花数 <br>`);
}
}
3.闰年判断
普通闰年:公历年份是4的倍数的,且不是100的倍数,为普通闰年。(如2004、2020年就是闰年);
世纪闰年:公历年份是整百数的,必须是400的倍数才是世纪闰年(如1900年不是世纪闰年,2000年是世纪闰年);
var year = parseInt(prompt("请输入年份"));
if(year % 4 == 0 && year % 100 !=0 || year % 400 == 0){
document.write(`${year}是闰年`);
}else{
document.write(`${year}不是闰年`);
}
4.输出一个字符串中有多少个数字、大写字母、小写字母
var str = "1234ABCDert";
var numCount = 0;
var UpperCount = 0;
var LowerCount = 0;
for (var i=0;i<str.length;i++) {
var code = str.charCodeAt(i);
if(code >=48 && code <=57){
numCount++;
}else if(code >=65 && code <=90){
UpperCount++;
}else if(code >=97 && code <=122){
LowerCount++;
}
}
document.write(`数字个数:${numCount}<br>大写字母个数:${UpperCount}<br>小写字母个数:${LowerCount}<br>`)
5.字符串转为数字
定义一个函数,传入一个字符串,实现将字符串转为数字(可以使用parseFloat),支持字符串中嵌入数字,12a3 会返回12 a123b 会返回123
function strTransferNum(str) {
var start = -1;//记录开始下标,默认-1
var end = -1;//记录结束下标,默认-1
for(var i = 0;i<str.length;i++){
var code = str.charCodeAt(i);
if(code >= 48 && code <=57){
if(start==-1){
start = i;
}
}else{
//非数字
//已经找到了数字,在遇到第一个非数字字符时就停止
if(start!=-1){
end=i-1;//i是第一个非数字下标
break;
}
}
}
if(start==-1){
return NaN;
}else{
var newStr = ""//定义一个空字符串接收
if(end==-1){//说明到末尾一直是数字
end = str.length-1;
}
for(var j = start;j<=end;j++){
newStr += str[j];
}
return parseFloat(newStr);
}
}
document.write(strTransferNum('b12a'));//12
6.次方计算
var x = parseInt(prompt("请输入底数"));
var y = parseInt(prompt("请输入指数"));
var res = 1;
if (y > 0) {
for (var i = 0; i < y; i++) {
res *= x;
}
}else{
for (var i = 0; i < -y; i++) {
res *= x;
}
res = 1/res;
}
document.write(res);
7.获取字符串中字符出现最多次数
function demo(str) {
var max = 0;
var arr = str.split('')
var count = 0;
var temp = arr[0]
for (var i = 1; i < arr.length; i++) {
if (arr[i] == temp) {
count++;
max = count;
}
temp = arr[i + 1]
}
return max;
}
var res = demo('abacaaaaa')
console.log(res);
8.字符串倒序
function demo(str) {
var arr = str.split(' ');
var newStr = ''
for (var i = 0; i < arr.length; i++) {
newStr += arr[i].split('').reverse().join('') + ' '
}
return newStr;
}
var res = demo("let's go home")
console.log(res);