c語言超級素數
發布時間: 2023-04-20 01:21:45
A. C語言編寫超級素數
超級素數是指從個位起刪除0位、1位、2位……直到只剩最後1位都是素數的十進制正整數。可以自定義一個素數判斷函數,對某一正整數n及從個位起每刪除1位的新數逐一進行判斷,都是素數的則是題解。以下代碼先要求輸入正整數n,輸出2~n之間的所有超級素數:
#include"stdio.h"
intprime(intn){//判斷素數,素數返回0,否則返回1
inti;
if(n>2&&!(n&1)||n<2)
return1;
for(i=3;i*i<=n;i+=2)
if(!(n%i))
return1;
return0;
}
intmain(intargc,char*argv[]){
intn,i,t;
printf("Inputn(intn>1)... n=");
if(scanf("%d",&n)!=1||n<2){
printf("Inputerror,exit... ");
return0;
}
for(i=2;i<=n;i++){
for(t=i;t;t/=10)//從低位刪除0位,1位...直到只剩1位都是素數的為超級素數
if(prime(t))
break;
if(!t)
printf("%d",i);
}
printf(" ");
return0;
}
運行樣例如下:
熱點內容