1.求两个数中的最大值
function getMax(a,b){
return a > b ? a : b;
}
console.log(getMax());
2.求三个数中的最大值
function getMax(a,b,c){
return a > b ? (a > c ? a : c) : (b > c ? b : c);
}
console.log(getMax());
3.判断一个数是否是质数(只能被1和自身整除)
function isPrimeNumber(num){
for(var i = 2; i < num;i ++){
if(num % i == 0){//说明一个整数整除了,就没必要向后继续整除了,此时就验证除是不是质数
return false;
}
}
return true;
}
console.log(isPrimeNumber(3) ? "是质数" : "不是质数");——是质数
var num = 11;
function isPrimeNumber(num){
for(var i = 2;i <= num /2;i++){//任何一个数字与这个数的一半相取余还不等于0,那就没必要再往下取余
if(num % i == 0){
return false;
}
}
return true;
}
console.log(isPrimeNumber(num));
4.求两个数的差
function getSub(x,y){
return x - y;
}
console.log(getSub(30,10));
5.求一组数中最大值
function getMax(arr){
var max = arr[0];
for(var i = 0; i <= arr.length;i++){
if(max < arr[i]){
max = arr[i];
}
}
return max;
}
var arr = [1,2,3,4,5];
var max = getMax(arr);
console.log(max);
6.求一组数字中最小值
function getMin(arr){
var min = [0];
for(var i = 0;i < arr.length;i++){
if(min > arr[i]){
min = arr[i];
}
}
return min;
}
console.log(getMin([1,2,3,4,5]));
7.求一组数字的和
function getSum(arr){
var sum = 0;
for(var i = 0;i < arr.length;i++){
sum += arr[i];
}
return sum;
}
console.log(getSum([1,2,3,4,5]));
8.通过函数实现数组反转
function reverseArr(arr){
for(var i = 0; i < arr.length / 2;i++){
var temp = arr[i];
arr[i] = arr[arr.length - 1 - i];
arr[arr.length - 1 - i] = temp;
}
return arr;
}
console.log(reverseArr([1,2,3,4,5]));
9.通过函数实现冒泡排序
function sortArr(arr){
// 控制比较轮数
for(var j = 0; j < arr.length - 1;j++){
//控制每一轮比较次数
for(var i = 0;i < arr.length - 1 - i ; i++){
if(arr[i] < arr[i + 1]){
var temp = arr[i];
arr[i] = arr[i + 1];
arr[i + 1] = temp;
}//end if
}//end for
}//end for
return arr;
}
console.log(sortArr([1,2,3,4,5,\]));
10.求一个数字的阶乘
function getJc(num){
var result = 1;
for(var i = 1;i <= num;i++){
result *= i;
}
return result;
}
console.log(getJc(5));
11.求斐波那契数列
function fbnq(num){
var first = 1;
var secend = 1;
var third = 0;
for(var i = 3;i <= num;i++){
third = first + secend;
first = secend;
secend = third;
}
return third;
}
console.log(fbnq(4));
12.输入年月日,获取这个日期是这一年的第多少天
function getDays(year,momth,day){
//定义变量存储对应的天数
var days = day;
//如果输入的是一月份,没必要算天数直接返回
if(month == 1){
return days;
}
//定义一个数组存储每个月份的天数
var months = [31,28,31,30,31,30,31,31,30,31,30,31];
for(var i = 0;i < month - 1;i++){//小于的是输入的月份-1
days += months[i];
}
//需要判断这个年份是不是闰年
if(isYear(year) && month > 2){
days ++;
}
return days;
}
function isYear(year){
return year % 4 == 0 && year % 100 != 0 || year % 400 == 0;
}
console.log(getDays(2001,3,2));
13.求一个数字的阶乘和:5的阶乘+4的阶乘+3的阶乘
//求阶乘
function getJeicheng(num){
var result = 1;
for(var i = 1;i <= num;i++){
result *= i;
}
return result;
}
//求阶乘和
function getJeichengSum(num){
var sum = 0;
for(var i = 1;i <= num;i++){
sum += getJeicheng(i);
}
return sum;
}
console.log(getJieChengSum(5));
14.计算n个数的和
function getSum(){
var sum = 0;
for(var i = 0; i < arguments.length;i++){
sum += arguments[i];
}
return sum;
}
console.log(getSum(1,2,3,4));