试图找出数字是否 odd/even/composite/prime
Trying to find if numbers are odd/even/composite/prime
我有以下数字数组:
var array = [5,9,12,19,23,24,31,44,49,62];
并且我试图找出每一个它们是偶数和合数、奇数和合数,还是奇数和素数。我首先尝试找到偶数和合数:
for (i = 0; i < array.length; i++) {
if (array[i]%2 === 0 && array[i]%i === 0) {
console.log(array[i]+" is even and composite")
}
}
问题是当我应该得到 12,24,44,62 时我只得到 12。它似乎在 12 点停止。可能是什么问题?
谢谢。
您可以将每个问题作为一个函数来解决,以使其更容易。
例如:求数组中的偶数
function isEven(n) {
return (n % 2) === 0 //to get even numbers
}
function isOdd(n) {
return (n % 2) === 1 //to get odd numbers
}
然后编写另一个函数来检查合数和素数。如果我为你做所有的工作就不好玩了。
function isComposite(n) {
//Enter check for composite numbers here
}
function isPrime(n) {
//Enter check for prime numbers here
}
然后要获取数组中的偶数,您可以简单地使用数组的过滤方法,将您预先编写的测试函数作为参数传递,如果您不知道它是什么,请查找它。但基本上它会检查数组中的每个元素是否通过测试,然后从中创建另一个函数。
array.filter(isEven) // This would create a new array of all the even numbers in your array
您还可以链接函数调用以查找偶数和合数。
array.filter(isEven).filter(isComposite) //would give you all the even and composite numbers in your array
我有以下数字数组:
var array = [5,9,12,19,23,24,31,44,49,62];
并且我试图找出每一个它们是偶数和合数、奇数和合数,还是奇数和素数。我首先尝试找到偶数和合数:
for (i = 0; i < array.length; i++) {
if (array[i]%2 === 0 && array[i]%i === 0) {
console.log(array[i]+" is even and composite")
}
}
问题是当我应该得到 12,24,44,62 时我只得到 12。它似乎在 12 点停止。可能是什么问题?
谢谢。
您可以将每个问题作为一个函数来解决,以使其更容易。
例如:求数组中的偶数
function isEven(n) {
return (n % 2) === 0 //to get even numbers
}
function isOdd(n) {
return (n % 2) === 1 //to get odd numbers
}
然后编写另一个函数来检查合数和素数。如果我为你做所有的工作就不好玩了。
function isComposite(n) {
//Enter check for composite numbers here
}
function isPrime(n) {
//Enter check for prime numbers here
}
然后要获取数组中的偶数,您可以简单地使用数组的过滤方法,将您预先编写的测试函数作为参数传递,如果您不知道它是什么,请查找它。但基本上它会检查数组中的每个元素是否通过测试,然后从中创建另一个函数。
array.filter(isEven) // This would create a new array of all the even numbers in your array
您还可以链接函数调用以查找偶数和合数。
array.filter(isEven).filter(isComposite) //would give you all the even and composite numbers in your array