c语言编写程序【问题描述】给定一个整数N2 = N = 8生成所有的具有下列特性的特殊的N位质数即其前任意位都是质数。例如7331即是这样一个4位的质数因为7、73和733也都是质数。【输入形式】输入一个整数N2 = N = 8。【输出形式】输出有若干行每行有一个整数该整数有N位而且其前任意位都是质数。并且:1要求输出所有符合题意的质数。2从小到大按顺序输出且所有行上的数字不得重复。【样例输入】2
#include <stdio.h> #include <stdbool.h>
bool isPrime(int num) { if (num <= 1) { return false; } for (int i = 2; i * i <= num; i++) { if (num % i == 0) { return false; } } return true; }
void generatePrime(int N, int num, int count) { if (count == N) { printf("%d\n", num); return; } for (int i = 1; i <= 9; i++) { int newNum = num * 10 + i; if (isPrime(newNum)) { generatePrime(N, newNum, count + 1); } } }
int main() { int N; printf("请输入N的值:"); scanf("%d", &N); printf("所有的%d位特殊质数为:\n", N); for (int i = 2; i <= 9; i++) { generatePrime(N, i, 1); } return 0;
原文地址: http://www.cveoy.top/t/topic/hyS6 著作权归作者所有。请勿转载和采集!