函数返回值案例
1.编写一个函数,功能计算任意数字的阶乘
function getFac(num){
//求num的阶乘
var fac = 1;
for (var i = 1; i <= num; i++) {
fac *= i;
}
return fac;
}
var f = getFac(5);
console.log(f);
2.定义一个函数,功能求任意一个数的平方
function getSquare(num){
return num * num;
}
console.log(getSquare(2));
3.编写函数实现:求2的平方的阶乘+3的平方的阶乘(至少用两个函数实现,一个函数实现平方,一个函数实现阶乘)
function getSquare(num) {//求num的平方
return num * num;
}
function getFac(num) {//求阶乘
var fac = 1;
for (var i = 1; i <= num; i++) {
fac *= i;
}
return fac;
}
function fn() {
return getFac(getSquare(2)) + getFac(getSquare(3));
} console.log(fn());
4.编写一个函数,功能判断一个任意一个数是否是素数
function isPrime(num) {
var sum = 0;
for (i = 1; i <= num; i++) {
if (num % i == 0) {
sum += i;
}
}
if (sum === num + 1) {
return num + "是一个素数";
} else {
return num + "不是一个素数";
}
} console.log(isPrime(18));
5.计算100-200之间所有素数的和
function isPrime(num) {
//1 不是一个素数,排除1这个值
if (num === 1) return false;
//判断num是否是一个素数,
//如果是素数,函数返回 一个true
//如果不是素数,函数返回 一个false;
for (var i = 2; i < num; i++) {
if (num % i === 0) {
//执行到这里,num不是一个素数
return false;//不是素数
}
}
//当程序执行到这里,说明num是一个素数
return true;
}
function getSum() {
var sum = 0;
for (var i = 100; i <= 200; i++) {
//判断i是否是素数
if (isPrime(i)) {//true:i是素数
// console.log(i);
sum += i;
}
}
return sum;
}
var sum = getSum();
console.log(sum);
6.输出:100可以拆成哪两个素数的和
function isPrime(num) {
//1 不是一个素数,排除1这个值
if (num === 1) return false;
//判断num是否是一个素数,
//如果是素数,函数返回 一个true
//如果不是素数,函数返回 一个false;
for (var i = 2; i < num; i++) {
if (num % i === 0) {
//执行到这里,num不是一个素数
return false;//不是素数
}
}
//当程序执行到这里,说明num是一个素数
return true;
}
function fn(){
var num;
for (var i = 1; i <= 50; i++) {
if(isPrime(i)){//true:i是一个素数
//console.log(i);//100 - i
num = 100 - i;
//判断num是否是一个素数
//console.log(num);
if(isPrime(num)){//true:num是一个素数
//console.log(num)
console.log("100可以拆成" + i + "和" + num +"两个素数的和");
}
}
}
}
fn();
函数递归调用案例
1.使用递归实现1-100的累加
1. function box(num, result) {
num++;
result += num;
//console.log(num);
if (num == 100) {
return result;
}
return box(num, result);
} var r = box(0, 0);
console.log(r);
2.function box(num) {
num++;
//console.log(num);
if (num == 100) {
return 100;
}
//1+2+3+..+100
return num+box(num);
} var r = box(0);
console.log(r);
2.1-100的偶数累加
function box(num){
//num+=2;
if(num === 100){
return 100;
}
return num + box(num+2);
}
alert(box(0));
3.10的阶乘
function box(num){
if(num === 10){
return 10;
}
return num * box(++num);
}
alert(box(1));