Rumah >pembangunan bahagian belakang >C++ >Bagaimanakah Saya Boleh Menentukan dengan Cekap jika Nombor adalah Perdana dalam C?

Bagaimanakah Saya Boleh Menentukan dengan Cekap jika Nombor adalah Perdana dalam C?

Mary-Kate Olsen
Mary-Kate Olsenasal
2024-12-29 06:51:10417semak imbas

How Can I Efficiently Determine if a Number is Prime in C?

Pengaturcaraan C: Menentukan sama ada Nombor adalah Perdana

Untuk menentukan sama ada nombor adalah perdana dalam C, anda boleh mengikuti langkah berikut:

  1. Lelaran melalui nombor dari 2 hingga punca kuasa dua nombor input (untuk mengoptimumkan proses).
  2. Semak sama ada nombor input boleh dibahagi dengan nombor semasa dalam gelung.
  3. Jika input boleh bahagi, kembalikan palsu.
  4. Jika input bukan boleh dibahagi dengan sebarang nombor dalam gelung, kembalikan benar.

Berikut ialah kod C yang dikemas kini pelaksanaan:

int IsPrime(unsigned int number) {
    if (number <= 1) return 0; // zero and one are not prime
    unsigned int i;
    for (i = 2; i * i <= number; i++) {
        if (number % i == 0) return 0;
    }
    return 1;
}

Kod yang dioptimumkan ini dengan cekap memeriksa sama ada nombor adalah perdana atau tidak dengan pengubahsuaian minimum pada idea asal anda.

Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Menentukan dengan Cekap jika Nombor adalah Perdana dalam C?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
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