发表于: 2020-03-10 19:01:58

2 1460


今天完成的事情


/**
 * 判断是不是奇数
 * @param {number} n 是不是奇数
 * @returns {boolean}
 */
function isOdd(n) {
    return n % 2 !== 0;
}


/**
 * 判断是不是素数
 * @param {number} n 是不是素数
 * @returns {boolean} 
 */
function isPrime(n) {
    if (n < 2) {
        return false;
    }
    for (var i = 2i < ni++) {
        return n % i !== 0;
    }
    return false;
}


/**
 * 求和
 * @param {number} arr
 * @returns {boolean}
 */
function sumOfArray(arr) {
    var sum = 0;
    for (var i = 0i < arr.lengthi++) {
        sum += arr[i]
    }
    return sum
}

/**
 * 取数组最大值
 * 如果数组长度为0返回undefined
 * @param {number} m 取最大数
 */
function maxOfArray(m) {
    if (m.length === 0) {
        return
    }
    var max = 0//m[0] 省略 !max
    for (var i = 0i < m.lengthi++) {
        if (!max || m[i] > max) {
            max = m[i]
        }
    }
    return max

}

/**
 * 判断一个数组是不是稀松数组
 * @param {*} arr 
 */
function hasEmptyInArray(arr) {
    //稀松数组的特定:下标连续
    for (i = 0i < arr.lengthi++) {
        if (!(i in arr)) {
            return true;
        }
    }
    return false;
}
/**
 * 判定某年是不是闰年
 * @param {number} y 
 */
function isLeap(y) {
    return y % 4 === 0 && y % 100 !== 0 || y % 400 === 0;
}

/**
 * 得到某年某月的天数
 * @param {number} year 
 * @param {number} month 
 */
function getDays(yearmonth) {
   if(month===2){
       return isLeap(year)?29:28;
   }else if(month<8 &&isOdd(month) || month>=8 &&!isOdd(month)){
       return 31;
   }else{
       return 30;
   }
}

/**
 * 得到数组中出现频率最高的数字和频率
 * 返回一个对象
 * @param {*} number 
 * @param {*} frequency 
 */
function getTopFreqInArray(arr) {
var record={};
for(var i=0;i<arr.length;i++){
    var n=arr[i];
    if(record[n]){
        record[n]++;
    }else{
        record[n]=1;
    }
}
var result;
for(var prop in record){
    if(!result ||record[prop]>result.frequency){
        result={
            number:+prop,
            frequency:record[prop]
        }
    }
}
return result;

}



        //根据用户输入的数输出哥德巴赫猜想
        var num = +prompt("请输如大于2的偶数");
        function judge() {
            if (isNaN(num) || num <= 2 || isOdd(n)) {
                console.log("输入错误")
                return;
            }
            for (var i = 0i < numi++) {
                var j = num - i;
                if (isPrime(j) && isPrime(j)) {
                    console.log(`${num}=${j}+${i}`)
                }
            }
        }
        judge()




  //根据输入的年输出每个月的天数
  var num = +prompt("请输入年(1900~2100)");
  function begin() {
    if (isNaN(num) || num <1900|| num>2100) {
       console.log("输入错误")
       return;
    }
  for(var i=1;i<=12;i++){
  var days=getDays(num,i);
  console.log(`${num}${i}月,${days}天`)
    }
    }
  begin()



明天计划的事情:

继续学习
遇到的问题:

收获:

基础知识


返回列表 返回列表
评论

    分享到