Hướng dẫn sum of prime numbers from 1 to 100 in javascript - tổng các số nguyên tố từ 1 đến 100 trong javascript

Tôi đang làm việc với một bản thi để tổng hợp tất cả các số nguyên tố từ 2 vào tham số. Tôi đã làm việc này trong mã này, nhưng tôi bị mắc kẹt. Tôi tin rằng bằng cách sử dụng hàm splice, tôi thực sự bỏ qua một yếu tố vì một chỉ số thay đổi.

function sumPrimes(num) {
  var primearray = [];
  var sum = 0;
  for(var i =2; i <= num; i++){
    primearray.push(i);
  }

  for(var j = 0; j < primearray.length; j++) {
    console.log(primearray[j]);
    if ((primearray[j]%2===0) && (primearray[j] >2)) {
      primearray.splice(j,1);
    } else if ((primearray[j]%3===0) && (primearray[j] > 3)) {
      primearray.splice(j,1);
      console.log(primearray);
    } else if ((primearray[j]%5===0) && (primearray[j] > 5)) {
      primearray.splice(j,1);
    } else if ((primearray[j]%7===0) && (primearray[j] > 7)) {
      primearray.splice(j,1);
    }
  }
  sum = primearray.reduce();
  return sum;
}

sumPrimes(30);

Tôi chưa sử dụng chức năng giảm vì tôi vẫn đang làm việc trên các câu lệnh khác.

Đã hỏi ngày 24 tháng 6 năm 2015 lúc 16:34Jun 24, 2015 at 16:34

Hướng dẫn sum of prime numbers from 1 to 100 in javascript - tổng các số nguyên tố từ 1 đến 100 trong javascript

3

Tôi đã tìm thấy một giải pháp khá tốt cho cùng một vấn đề. Afmeva đã được phát hiện. Đây là cách nó hoạt động.

function isPrime(val){

  //test if number is prime
  for(var i=2; i < val; i++){
    if(val % i === 0){
      return false;
    }
  }
  return true;
}

Trong mã trên, chúng tôi chấp nhận một số để xác định xem nó có phải là chính hay không. Sau đó, chúng tôi lặp lại từ hai con đường cho đến khi số của chúng tôi trừ đi một số vì chúng tôi biết rằng số của chúng tôi sẽ được chia cho chính nó và một. Nếu phần còn lại của giá trị của chúng tôi với giá trị vòng lặp hiện tại bằng 0 thì chúng tôi biết nó không phải là nguyên tố nên thoát ra và nói như vậy.

Bài viết này giải thích rất tốt

function sumPrimes(num) {
  var answer = 0;

  //loop through all numbers from 2 to input value

  for(var i=2; i <= num; i++){   

    //sum only prime numbers, skip all others
    if(isPrime(i)){
      answer += i;
    }
  }
  return answer;
}

sumPrimes(977); // 73156

Đây là một nguồn tài nguyên tốt khác

Đã trả lời ngày 28 tháng 5 năm 2016 lúc 18:33May 28, 2016 at 18:33

Hướng dẫn sum of prime numbers from 1 to 100 in javascript - tổng các số nguyên tố từ 1 đến 100 trong javascript

1

function sumPrimes(num) {
    let arr = Array.from({length: num+1}, (v, k) => k).slice(2); 
  
  let onlyPrimes = arr.filter( (n) => { 
    let m = n-1;
    while (m > 1 && m >= Math.sqrt(n)) { 
      if ((n % m) === 0) 
        return false;
        m--;
    }
      return true;
  });
    return onlyPrimes.reduce((a,b) => a+b); 
}
sumPrimes(977);

Đã trả lời ngày 8 tháng 9 năm 2019 lúc 14:49Sep 8, 2019 at 14:49

Hướng dẫn sum of prime numbers from 1 to 100 in javascript - tổng các số nguyên tố từ 1 đến 100 trong javascript

IffyiffyIffy

796 Huy hiệu Đồng6 bronze badges

Tôi đã thấy rất nhiều người đặt tất cả các số nguyên tố vào mảng và để kiểm tra xem một số là số nguyên tố, họ kiểm tra từ 2 đến số để xem có còn lại không. Bạn chỉ cần kiểm tra các số lẻ và chỉ cần tính đến một nửa số vì một số không thể chia hết cho bất kỳ số nào lớn hơn so với nó có. Đây là giải pháp của tôi:

function sumPrimes(num){
    var sum = num>=2?2:0;
    for(var i=3;i<=num;i+=2){
        var isPrime=true;
        for(var j=3;j<(i/2);j++){
            if (i%j==0)
            {
                isPrime=false;
                break;
            }
        }
        sum+=isPrime?i:0;
    }
    return sum;
}

Lưu ý: Tôi đã bắt đầu từ J = 2 vì chúng tôi chỉ kiểm tra các số lẻ, vì vậy chúng sẽ không bao giờ chia hết cho 2.

Đã trả lời ngày 25 tháng 11 năm 2020 lúc 16:52Nov 25, 2020 at 16:52

function sumPrimes(num) {
  var sumArr= [];
  for(var i=0;i<=num;i++){
    if(isPrime(i))
      sumArr.push(i);
  }

  sumArr = sumArr.reduce(function(a,b){
    return a+b;
  })

  return sumArr;
}

function isPrime(num) {
    if(num < 2) return false;
    for (var i = 2; i < num; i++) {
        if(num%i === 0)
            return false;
    }
    return true;
}

sumPrimes(10);

Đã trả lời ngày 15 tháng 6 năm 2017 lúc 11:26Jun 15, 2017 at 11:26

Hướng dẫn sum of prime numbers from 1 to 100 in javascript - tổng các số nguyên tố từ 1 đến 100 trong javascript

một cái gì đó như thế này?

function isPrime(_num) {
	for(var i = 2; i < _num; i++) {
		if(!(_num % i)) {
			return false
		}
	}
	return true;
}


function sumPrimes(_num) {
	var sum = 0;
	for(var i = 2; i <= _num; i++) {
		if(isPrime(i)) {
			sum += i;
		}
	}
	return sum;
}

sumPrimes(20) // 77
sumPrimes(5) // 10

Đã trả lời ngày 24 tháng 6 năm 2015 lúc 17:53Jun 24, 2015 at 17:53

afmevaafmevaafmeva

7996 Huy hiệu bạc13 Huy hiệu Đồng6 silver badges13 bronze badges

Bạn cũng có thể làm điều này.

function sumPrimes(num) {
    var sum = 0;
    for (var i = 0; i <= num; i++) {
        if (isPrime(i)) {
            sum += i;
        }
    }
    return sum;
}

function isPrime(n) {
    if (n < 2) { return false; }
    if (n !== Math.round(n)) { return false; }
    var result = true;
    for (var i = 2; i <= Math.sqrt(n); i++) {
        if (n % i === 0) {
            result = false;
        }
    }
    return result;
}

Đã trả lời ngày 5 tháng 8 năm 2015 lúc 5:23Aug 5, 2015 at 5:23

Hướng dẫn sum of prime numbers from 1 to 100 in javascript - tổng các số nguyên tố từ 1 đến 100 trong javascript

Sagasagasaga

Phù hiệu bằng đồng 2655 bronze badges

Đây là giải pháp của tôi. Tôi hy vọng bạn thấy nó dễ dàng để giải thích:

function sumPrimes(num) {

  // determine if a number is prime
  function isPrime(n) {
    if (n === 2) return true;
    if (n === 3) return true;
    if (n % 2 === 0) return false;
    if (n % 3 === 0) return false;

    var  i = 5;
    var  w = 2;
    while (i * i <= n) {
        if (n % i === 0) {
            return false;
        }
        i += w;
        w = 6 - w;
    }
    return true;
  }

  // subtract 1 for 'not being prime' in my context
  var sum = isPrime(num) ? num - 1 : -1;

  for (var x = 0; x < num; x++) {
    if (isPrime(x) === true) {
      sum += x;
    }
  }

  return sum;
}

Đã trả lời ngày 14 tháng 9 năm 2016 lúc 4:53Sep 14, 2016 at 4:53

Hướng dẫn sum of prime numbers from 1 to 100 in javascript - tổng các số nguyên tố từ 1 đến 100 trong javascript

Yup.Yup.Yup.

1.82321 Huy hiệu bạc18 Huy hiệu đồng21 silver badges18 bronze badges

Đây là giải pháp của tôi cho tổng số n số nguyên tố

function sumOfNPrimeNumber(num){
	var sum = 0;
	
	const isPrime = function(n){
		if (isNaN(n) || !isFinite(n) || n%1 || n<2) {
			return false;
		}

		if (n%2==0){
			return (n==2);
		}

		var sqrt = Math.sqrt(n);
		for (var i = 3; i < sqrt; i+=2) {
			if(n%i == 0){
				return false;
			}
		}

		return true;
	}

	const getNextPrime = function* (){
		let nextNumber = 2;
		while(true){
			if(isPrime(nextNumber)){
				yield nextNumber;
			}
			++nextNumber;
		}
	}

	
	const nextPrime = getNextPrime();
	for (var i = 0; i < num; i++) {
		sum = sum + nextPrime.next().value;
	}

	return sum;
}

console.log(sumOfNPrimeNumber(3));

Đã trả lời ngày 8 tháng 10 năm 2019 lúc 5:49Oct 8, 2019 at 5:49

Ganesh Phirkeganesh Phirkeganesh phirke

4411 Huy hiệu vàng3 Huy hiệu bạc11 Huy hiệu đồng1 gold badge3 silver badges11 bronze badges

Tất cả các câu trả lời trên đều sử dụng các chức năng trợ giúp hoặc không phải là hiệu quả thời gian. Đây là một giải pháp đệ quy nhanh chóng trong thời gian O (n):O(n) time:

function isPrime(val){

  //test if number is prime
  for(var i=2; i < val; i++){
    if(val % i === 0){
      return false;
    }
  }
  return true;
}
0

Đã trả lời ngày 25 tháng 11 năm 2020 lúc 16:07Nov 25, 2020 at 16:07

Hướng dẫn sum of prime numbers from 1 to 100 in javascript - tổng các số nguyên tố từ 1 đến 100 trong javascript

rags2riches-progrags2riches-progrags2riches-prog

1.5731 Huy hiệu vàng11 Huy hiệu bạc20 Huy hiệu đồng 201 gold badge11 silver badges20 bronze badges

Giải pháp sau đây sử dụng rây eratosthenes để tổng hợp tất cả các số nguyên tố thấp hơn hoặc bằng

function isPrime(val){

  //test if number is prime
  for(var i=2; i < val; i++){
    if(val % i === 0){
      return false;
    }
  }
  return true;
}
5. Đầu tiên cho vòng lặp lấp đầy một mảng có kích thước bằng
function isPrime(val){

  //test if number is prime
  for(var i=2; i < val; i++){
    if(val % i === 0){
      return false;
    }
  }
  return true;
}
5 với
function isPrime(val){

  //test if number is prime
  for(var i=2; i < val; i++){
    if(val % i === 0){
      return false;
    }
  }
  return true;
}
7. Phần thứ hai cho vòng lặp đặt thành
function isPrime(val){

  //test if number is prime
  for(var i=2; i < val; i++){
    if(val % i === 0){
      return false;
    }
  }
  return true;
}
8 tất cả các số phi nguyên tắc trong
function isPrime(val){

  //test if number is prime
  for(var i=2; i < val; i++){
    if(val % i === 0){
      return false;
    }
  }
  return true;
}
9. Sau đó, vòng lặp cuối cùng chỉ đơn giản là lặp qua
function isPrime(val){

  //test if number is prime
  for(var i=2; i < val; i++){
    if(val % i === 0){
      return false;
    }
  }
  return true;
}
9 để tổng hợp tất cả các chỉ mục mảng
function sumPrimes(num) {
  var answer = 0;

  //loop through all numbers from 2 to input value

  for(var i=2; i <= num; i++){   

    //sum only prime numbers, skip all others
    if(isPrime(i)){
      answer += i;
    }
  }
  return answer;
}

sumPrimes(977); // 73156
1 mà giá trị trong mảng, tức là,
function sumPrimes(num) {
  var answer = 0;

  //loop through all numbers from 2 to input value

  for(var i=2; i <= num; i++){   

    //sum only prime numbers, skip all others
    if(isPrime(i)){
      answer += i;
    }
  }
  return answer;
}

sumPrimes(977); // 73156
2, bằng với
function isPrime(val){

  //test if number is prime
  for(var i=2; i < val; i++){
    if(val % i === 0){
      return false;
    }
  }
  return true;
}
7.

function isPrime(val){

  //test if number is prime
  for(var i=2; i < val; i++){
    if(val % i === 0){
      return false;
    }
  }
  return true;
}
1

Đã trả lời ngày 21 tháng 12 năm 2021 lúc 9:12Dec 21, 2021 at 9:12

Hướng dẫn sum of prime numbers from 1 to 100 in javascript - tổng các số nguyên tố từ 1 đến 100 trong javascript

function isPrime(val){

  //test if number is prime
  for(var i=2; i < val; i++){
    if(val % i === 0){
      return false;
    }
  }
  return true;
}
2

Đã trả lời ngày 15 tháng 10 lúc 9:45Oct 15 at 9:45

Đây là những gì tôi đã làm để có được số nguyên tố. Tôi không biết nó có hiệu quả nhất không, nhưng nó hoạt động. Đây là trong Java, nhưng có thể dễ dàng chuyển đổi thành JavaScript. Hy vọng điều này sẽ giúp bạn đi đúng hướng.

function isPrime(val){

  //test if number is prime
  for(var i=2; i < val; i++){
    if(val % i === 0){
      return false;
    }
  }
  return true;
}
3

Đã trả lời ngày 24 tháng 6 năm 2015 lúc 16:38Jun 24, 2015 at 16:38

Imthemanimthemanimtheman

4.6031 Huy hiệu vàng31 Huy hiệu bạc 30 Huy hiệu Đồng1 gold badge31 silver badges30 bronze badges

5

function isPrime(val){

  //test if number is prime
  for(var i=2; i < val; i++){
    if(val % i === 0){
      return false;
    }
  }
  return true;
}
4

// mã nhận được một số, kiểm tra qua phạm vi và trả về Prime nếu nó đáp ứng điều kiện

Đã trả lời ngày 23 tháng 1 năm 2021 lúc 6:20Jan 23, 2021 at 6:20

3

Tổng số nguyên tố từ 1 đến 100 là bao nhiêu?

Khi tôi chạy chương trình này và nhập 100, nó hiển thị kết quả là 1058 nhưng tổng của tất cả các số nguyên tố lên tới 100 phải là 1060.1060.

Làm thế nào để bạn tổng số số nguyên tố trong javascript?

function sumPrimes(num) { //create an array with values from 1 to 10 var val =Array. from({length: num}, (_, i) => i + 1) val = val. filter((number)=> { for(var i = 2; i < number; i++){ if(number % i === 0){ return false } } return number > 1 // [2, 3, 5, 7] }).

Công thức của tổng số nguyên tố là gì?

Cách tìm tổng số số nguyên tố lên đến số nguyên tố N, ví dụ: tổng số nguyên tố lên đến 7 là: 2+3+5+7 = 17.với PK là KTH Prime.2+3+5+7=17. with pk being the kth prime.

Làm thế nào để bạn tổng hợp trong JavaScript?

Ví dụ 2: Thêm hai số được nhập bởi người dùng const num1 = parseInt (nhắc ('nhập số đầu tiên'));const num2 = parseInt (nhắc ('nhập số thứ hai'));Sau đó, tổng của các số được tính toán.const sum = num1 + num2;Cuối cùng, tổng được hiển thị.const sum = num1 + num2; Finally, the sum is displayed.