JavaScript mencari nombor yang sempurna dalam 1000

PHPz
Lepaskan: 2023-05-21 10:53:06
asal
659 orang telah melayarinya

Apakah nombor yang sempurna?

Dalam matematik, nombor sempurna ialah jenis nombor asli yang istimewa. Jumlah semua faktor yang sepatutnya (iaitu, faktor selain dirinya) adalah sama dengan dirinya sendiri.

Contohnya: 6 ialah nombor sempurna kerana semua faktor sebenar 6 ialah 1, 2, dan 3, dan jumlahnya betul-betul sama dengan 6.

Jadi bagaimana untuk menggunakan JavaScript untuk mencari nombor yang sempurna dalam 1000?

Kita boleh mula-mula menulis fungsi untuk menentukan sama ada sesuatu nombor itu lengkap:

function isPerfectNumber(num) {
  let sum = 0;
  for (let i = 1; i <= num / 2; i++) {
    if (num % i === 0) {
      sum += i;
    }
  }
  return sum === num;
}
Salin selepas log masuk

Fungsi fungsi ini adalah untuk mengira jumlah faktor sebenar suatu nombor Jika ia sama dengan nombor itu sendiri, ia mengembalikan benar, jika tidak palsu dikembalikan.

Seterusnya, kita boleh menulis gelung untuk menghitung setiap nombor dalam 1000 dan menentukan sama ada ia adalah nombor lengkap:

for (let i = 1; i <= 1000; i++) {
  if (isPerfectNumber(i)) {
    console.log(i);
  }
}
Salin selepas log masuk

Fungsi gelung ini adalah untuk menghitung setiap nombor dalam 1000 nombor, jika nombor sudah lengkap, cetak.

Gabungkan dua bahagian ini untuk mendapatkan kod lengkap:

function isPerfectNumber(num) {
  let sum = 0;
  for (let i = 1; i <= num / 2; i++) {
    if (num % i === 0) {
      sum += i;
    }
  }
  return sum === num;
}

for (let i = 1; i <= 1000; i++) {
  if (isPerfectNumber(i)) {
    console.log(i);
  }
}
Salin selepas log masuk

Jalankan kod ini untuk mengeluarkan nombor lengkap dalam 1000. Pada mesin saya, output kod ini ialah:

1
6
28
496
Salin selepas log masuk

Oleh itu, terdapat 4 nombor sempurna dalam 1000, iaitu 1, 6, 28 dan 496.

Sudah tentu, jika kita perlu mencari nombor penyiapan yang lebih besar, program ini mungkin berjalan untuk masa yang lama. Oleh kerana bilangan nombor sempurna adalah sangat terhad, dan apabila nilai meningkat, selang antara nombor sempurna menjadi lebih besar dan lebih besar, jadi mencari nombor sempurna yang lebih besar mungkin memerlukan algoritma yang lebih cekap.

Atas ialah kandungan terperinci JavaScript mencari nombor yang sempurna dalam 1000. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:php.cn
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan
Tentang kita Penafian Sitemap
Laman web PHP Cina:Latihan PHP dalam talian kebajikan awam,Bantu pelajar PHP berkembang dengan cepat!