식식 소수열 - C 언어편
규칙
숫자에 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 라이센스입니다.
꼭 자유롭게 변경하여 놀아보세요.
Reference
이 문제에 관하여(식식 소수열 - C 언어편), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/gis/items/8f17db48faa39046f665
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
#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);
}
출력 결과 (입력 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 라이센스입니다. 꼭 자유롭게 변경하여 놀아보세요.
Reference
이 문제에 관하여(식식 소수열 - C 언어편), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/gis/items/8f17db48faa39046f665텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)