1.、編程實作,將1-1000間的所有超級素數顯示出來。超級素數是各個位的數字都是素數,且本身也為素數的數。
要求用自定義的函式,這道題我實驗課看了好久,只會求出1000以內的素數,我C學得不是很好,求大佬幫幫忙
uj5u.com熱心網友回復:
#include <stdio.h>
#include <math.h>
int is_prime(int num);
int main(void)
{
int i;
int tmp;
for (i = 1; i < 1000; i += 2) {
//printf("i = %d\n", i);
tmp = i;
if (is_prime(tmp)) {
if (tmp < 10) {
printf("%d ", i);
continue;
}
while (tmp) {
if (is_prime(tmp % 10)) {
tmp /= 10;
continue;
}
break;
}
if (tmp == 0)
printf("%d ", i);
}
}
return 0;
}
int is_prime(int num)
{
int i;
if (num < 2)
return 0;
int size = (int)sqrt(num);
for (i = 2; i < size + 1; i++)
if (num % i == 0)
return 0;
return 1;
}
供參考~
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/232215.html
標籤:C語言
下一篇:為什么不能正常運行呢。。。
