식식 소수열 - C 언어편

6122 단어 mathC수학소수

규칙



숫자에 4 또는 9를 포함하는 소수를 식식 소수라고 부릅니다.
19라든지 41라든지 149라든지.
표준 입력으로 양의 정수 N을 주면 N 번째까지의 식식 소수를 반각 쉼표로 구분하여 표준 출력하십시오.
예 N = 9인 경우 19,29,41,43,47,59,79,89,97
N은 최대 100입니다.

소스 코드



sksk.c
#include <stdio.h>

//数値から4と9を見つける
int find49(int i49_) {
    while (i49_ != 0)
        switch (i49_ % 10) {
        case 4:case 9: return 1;
        default: i49_ /= 10;
        }
    return 0;
}
//素数を探す
void prime(const int n_) {
    for (int i = 1, prime = 0, counter = 0;; ++i, prime = 0) {
        for (int j = 1; j <= i; ++j)
            if (i % j == 0) ++prime;
        if (prime == 2 && find49(i) == 1) {
            printf("%d", i);
            if (++counter != n_) printf(",");
            else break;
        }
    }
    printf("\n");
}
//入力値のシクシク素数を返す
int main() {
    int n;
    scanf_s("%d", &n);
    prime(n);
}

우선 30행으로 구현.
고속화는 하지 않습니다.

실행 결과



출력 결과 (입력 7)
19,29,41,43,47,59,79

출력 결과 (입력 9)
19,29,41,43,47,59,79,89,97

출력 결과 (입력 19)
19,29,41,43,47,59,79,89,97,109,139,149,179,191,193,197,199,229,239

출력 결과 (입력 22)
19,29,41,43,47,59,79,89,97,109,139,149,179,191,193,197,199,229,239,241,269,293

출력 결과 (입력 49)
19,29,41,43,47,59,79,89,97,109,139,149,179,191,193,197,199,229,239,241,269,293,347,349,359,379,389,397,401,409,419,421,431,433,439,443,449,457,461,463,467,479,487,491,499,509,541,547,569

출력 결과 (입력 100)
19,29,41,43,47,59,79,89,97,109,139,149,179,191,193,197,199,229,239,241,269,293,347,349,359,379,389,397,401,409,419,421,431,433,439,443,449,457,461,463,467,479,487,491,499,509,541,547,569,593,599,619,641,643,647,659,691,709,719,739,743,769,797,809,829,839,859,907,911,919,929,937,941,947,953,967,971,977,983,991,997,1009,1019,1039,1049,1069,1091,1093,1097,1109,1129,1193,1229,1249,1259,1279,1289,1291,1297,1319

소스 코드 라이센스



These codes are licensed under CC0.
이 기사의 소스 코드는 CC0 라이센스입니다. 꼭 자유롭게 변경하여 놀아보세요.

좋은 웹페이지 즐겨찾기