반응형

C언어 입력한 숫자 소수 판별

 

 

Check whether input number is prime number

 

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
/* Is input number prime number */
#include <stdio.h>
#include <stdbool.h>
#include <math.h>
 
/* Get input number */
int getInputNumber() {
    int input = 0;
    printf("Input an integer: ");
    scanf("%d"&input);
    return input;
}
 
/* Check whether input number is prime. */
bool isPrime(int num) {
    int max = sqrt(num);
    bool b = true;
    for (int i = 2; i <= max; i++) {
        if (num % i == 0) {
            b = false;
            break;
        }
    }
    return b;
}
 
/* Print result*/
void printResult(int num, bool b) {
    if (b) printf("Input number %d is prime.\n", num);
    else printf("Input number %d is not prime.\n", num);
}
 
/* Run methods */
void run() {
    int num = getInputNumber();
    printResult(num, isPrime(num));
}
 
int main() {
    run();
    return 0;
}
cs

 

반응형