C_C++

(C/C++) 소수인지 판단 is_prime_ number

고니자니 2022. 10. 21. 08:37
반응형

#소수 #판단

- 입력받은 수가 소수인지 판단하는 프로그램

- 1부터 100까지 수 중에서 소수 출력하기

 

 

소수란 (Prime Number)

1과 그 자신의 자연수로 나눌 수 없는 자연수

2, 3, 5, 7, 11, .. 등이 있다.

1은 소수가 아니다.

 

C언어: 소수인지 판단하는 함수, is_prime_number

#define _CRT_SECURE_NO_WARNINGS      // Visual Studio
#include<stdio.h>

// n이 소수인지 판단하여, 소수이면 1, 아니면 0을 반환하는 함수
int is_prime_number(int n)
{
    int i;
    if (n < 2)
        return 0;   // 1은 소수가 아님
    for (i = 2; i < n; i++)
        if (n % i == 0) return 0; // 중간에 나누어 떨어지는 수가 있으면 소수가 아님
    return 1;
}

int main()
{
    int n;
    printf("정수를 입력하세요(0:종료)\n");
    while (1)
    {
        scanf("%d", &n);
        if (n < 1) break;
        if (is_prime_number(n))
            printf("%d: 소수입니다.\n", n);
        else
            printf("%d: 소수가 아닙니다.\n", n);
    }
}

(Output)

 

1부터 100까지의 수 중에서 소수  출력

#define _CRT_SECURE_NO_WARNINGS   // Visual Studio
#include<stdio.h>

// n이 소수인지 판단하여, 소수이면 1, 아니면 0을 반환하는 함수
int is_prime_number(int n)
{
    int i;
    if (n < 2)
        return 0;   // 1은 소수가 아님
    for (i = 2; i < n; i++)
        if (n % i == 0) return 0; // 중간에 나누어 떨어지는 수가 있으면 소수가 아님
    return 1;
}

int main()
{
    int i;
    for (i = 1; i <= 100; i++)
        if (is_prime_number(i))
            printf("%d  ", i);
    printf("\n");

    return 0;
}

(Output)

 

C++ 언어: 소수인지 판단

위에서 작성한, 1부터 100까지의 수 중에서 소수를 출력하는 C언어 코드를 C++로 변경했습니다.

#include <iostream>
using namespace std;

// n이 소수인지 판단하여, 소수이면 1, 아니면 0을 반환하는 함수
int is_prime_number(int n)
{
    int i;
    if (n < 2)
        return 0;   // 1은 소수가 아님
    for (i = 2; i < n; i++)
        if (n % i == 0) return 0; // 중간에 나누어 떨어지는 수가 있으면 소수가 아님
    return 1;
}

int main()
{
    for (int i = 1; i <= 100; i++)
        if (is_prime_number(i))
            cout << i << " ";
            cout << endl;
    return 0;
}

(Output)

 

 

반응형