Rumah >pembangunan bahagian belakang >C++ >Bagaimana Saya Boleh Menentukan sama ada Nombor adalah Perdana dalam C?

Bagaimana Saya Boleh Menentukan sama ada Nombor adalah Perdana dalam C?

Susan Sarandon
Susan Sarandonasal
2025-01-04 22:49:41936semak imbas

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

Menentukan Keutamaan Nombor dalam C

Anda mencari kaedah dalam C untuk membezakan sama ada integer yang diberi adalah perdana atau tidak. Bagi yang belum tahu, nombor perdana ialah integer yang lebih besar daripada satu yang hanya boleh dibahagi dengan sendiri dan satu.

Algoritma

Sebelum mendalami kod C, mari kita gariskan algoritma untuk semakan perdana:

  1. Input a nombor.
  2. Lelaran ke atas semua integer daripada 2 hingga punca kuasa dua nombor input.
  3. Jika mana-mana integer ini membahagi nombor input tanpa meninggalkan baki, nombor input bukan perdana.
  4. Jika tiada pembahagi ditemui, nombor input ialah utama.

Pelaksanaan C

Berbekalkan algoritma kami, mari menterjemahkannya ke dalam C:

#include <stdio.h>

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

int main() {
    int num;
    printf("Enter an integer: ");
    scanf("%d", &num);
    printf("%d is %s\n", num, isPrime(num) ? "prime" : "not prime");
    return 0;
}

Penjelasan

  • Kami menyemak kes tepi yang bilangannya kurang daripada atau bersamaan dengan 1, kerana ia bukan perdana.
  • Dengan menggunakan gelung, kami mengulangi pembahagi daripada 2 kepada punca kuasa dua nombor input.
  • Jika mana-mana pembahagi menghasilkan baki 0, nombor itu bukan perdana.
  • Jika tiada pembahagi ditemui, nombor itu diisytiharkan perdana.

Contoh Penggunaan

Input: 13
Output: 13 ialah prima

Input: 9
Output: 9 bukan perdana

Atas ialah kandungan terperinci Bagaimana Saya Boleh Menentukan sama ada 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