1.编写一个函数,功能判断一个任意一个数是否是素数
function isPrime(num){
if(num ===1) return false;
for (var i=2;i<num;i++){
if(num % i ===0){
return false;
}
}
return true;
}
var isP = isPrime(1);
console.log(isP);
2.计算100-200之间所有素数的和
function getSum (){
var sum =0;
for(var i =100; i <=200;i++){
if(isPrime(i)){
sum+=i;
}
}
return sum;
}
var sum = getSum();
console.log(sum);
3.输出:100可以拆成哪两个素数的和
function fn(){
var num;
for(var i =1; i<=50;i++){
if(isPrime(i)){
num =100-i;
if(isPrime(num)){
console.log('100可以拆成'+i+'和'+num+'两个素数的和');
}
}
}
}
fn();
4.函数实现:输出1—3之间能组成的奇数个数,并输出这些数
function fn(){
var num,j;
for (var i = 1; i <= 3; i++) {
for(j = 1; j <= 3; j++){
if(i != j){
num = Number("" + i + j);
if(num % 2 === 1){
console.log(num);
}
}
}
}
}
fn();
5.编写一个函数,输入n为偶数时,调用函数求1/2+1/4+…+1/n,当输入n为奇数时,调用函数求1+1/3+…+1/n
function fn(n){
var sum = 0;
if(n % 2 === 0){
for (var i = 2; i <= n; i+=2) {
sum+= 1/i;
}
}else{
for (var i = 1; i <= n; i+=2) {
sum+= 1/i;
}
}
return sum;
var index = 1;
if(n % 2 === 0) index = 2;
var sum = 0;
while(index <= n){
sum += 1/index;
index += 2;
}
return sum;
}
var result = fn(4);
console.log(result)
6.如果一个数恰好等于它的因数之和,则称该数为“完全数” perfect number。请列出2~10000的所有完全数
function isPerfectNumber(num){
var sum = 0;
for (var i = 1; i < num; i++) {
if(num % i === 0){
sum += i;
}
}
if(sum === num){
return true;
}
return false;
}
function getPerfectNum(){
for (var i = 2; i <= 10000; i++) {
if(isPerfectNumber(i)){
console.log(i + "是完全数");
}
}
}
getPerfectNum();
7.编写一个函数 :实现计算任意一个数的各个位数的和
function fnSum(num){
var sum = 0;
while( num != 0 ){
sum += num % 10;
num = parseInt( num/10 );
}
return sum;
}
var s = fnSum(3456);
alert(s);
8,案例:递归实现斐波那契数列的第n项
function fbnq(m){
if(m === 1 || m === 2){
return 1;
}
return fbnq(m-2)+fbnq(m-1);
}
console.log(fbnq(12));
9,欧几里德算法(求两个数的最大公约数);
function ouji(num1,num2){
var r = num1 % num2;
if(r === 0){
return num2;
}
return ouji(num2,r);
return num2 === 0 ? num1 : ouji(num2,num1 % num2);
}
console.log(ouji(24,64));
转载请注明原文地址:https://blackberry.8miu.com/read-45341.html