function
isprime
(num)
}// 否則返回true
return
true
}console.
log(
isprime(5
))// true
優化:假如 n 是合數,必然存在非 1 的兩個約數 p1 和 p2,其中 p1<=sqrt(n),p2>=sqrt(n)。由此我們可以改進上述方法優化迴圈次數。
function
isprime2
(num)
}return
true
}console.
log(
isprime2(4
))// false
遞迴寫法
function
fibonaqi
(n)console.
log(
fibonaqi(12
))
迴圈
function
fibonaqi2
(n)// 定義三個變數,前兩個開始的數和 sum
let sum =
0let x =
1let y =
1// 從第二個開始迴圈
for(
let i =
2; i < n; i++
)return temp
}console.
log(
fibonaqi2(12
))
方法 1:使用迴圈
function
greatestcommondivisor
(a, b)
}return res
}console.
log(
greatestcommondivisor(4
,8))
// 4
console.
log(
greatestcommondivisor(93
,31))
// 1
方法 2:使用遞迴
function
greatestcommondivisor2
(a, b)
return
greatestcommondivisor2
(b, a % b)
}console.
log(
greatestcommondivisor2(4
,8))
// 4
console.
log(
greatestcommondivisor2(93
,31))
// 1
function
sumfind
(arr, num)
}// 最後都沒有的話返回false
return
false
}console.
log(
sumfind([
6,4,
3,2,
1,7]
,11))
function
trim
(str)
console.
log(
trim
(' hello world '))
// hello world
function
getmostcount
(arr)
}return res
}let arr =[,
,,,,
]console.
log(
getmostcount
(arr)
)// 3
function
narcissusnumber
(n)// 分別取出個位、十位、百位
let ge = n %
10let shi =
parseint
((n /10)
%10)let bai =
parseint
(n /
100)
if(ge * ge * ge + shi * shi * shi + bai * bai * bai === n)
return
false
}for
(let i =
100; i <
1000
; i++
)}
function
getleapyear
(start, end)
}return arr
}console.
log(
getleapyear
(1900
,2100
))
function
fun()}
}}return arr.length
}console.
log(
fun(
))
function
fun(
)return sum
}console.
log(
fun(
))
歡迎大佬指正 js基礎演算法題。
陣列去重 檢查指定字元是否包含重複的數字字母,包含返回true,否則false。function repetition str repetition 111sss 返回true 包含了重複實現乙個函式,引數與返回值的關係如下 引數能同時被3與5整除,返回字串a 引數能同時被3整除的,返回字串b 引數...
js基礎演算法題
根據使用者輸入的年份,列印是否是閏年。思路 1 獲取使用者輸入的年份 let year parseint prompt 請輸入年份 if isnan year else else 湊錢1元,2元,5元湊20元錢有多少種可能,分別列印出來 let num1 一元的個數 let num2 二元的個數 l...
js演算法題
二叉樹排序 雙向鍊錶 1 將學生資訊輸入到乙個雙向鍊錶 2 按不同的方式對此雙向鍊錶排序 按學生成績排序 按學生姓名排序 3 正 逆向顯示該鍊錶內容 思路1,沒啥說的,新建乙個鍊錶首節點,乙個節點放乙個資料就ok了。有prev 和next 2,排序的問題,其實可以參考陣列的排序乙個道理。用冒泡,兩層...