任意的整數,當從左向右讀與從右向左讀是相同的,且為素數時,稱為回文素數。求 1000 以内的所有回文素數。
算法思想實例的重點是判斷一個數是否是回文素數。要輸出 1000 以内的所有回文素數,首先應判斷這個數是否是素數;
如果是,再進一步判斷這個數是兩位數還是三位數,若是兩位數,則需判斷個位數和十位數是否相同;
若是三位數,則需判斷個位數和百位數是否相同。若相同,則判斷為回文素數,否則繼續下次判斷。
① 定義一個函數 sushu,其作用是判斷一個數是否是素數。
② 對判斷為素數的數,再判斷其是否是兩位數。
若是兩位數,再判斷其個位數和十位數是否相同,若相同則打印輸出;若不相同,則執行④;若不是兩位數,則執行③。
③ 若是三位數,則判斷其個位數和百位數是否相同。若相同,則打印輸出;若不相同,則執行 ④。
④ 循環控制變量 i 自增 1。
⑤ 直到 i 自增至 1000 結束。
程序代碼
#include <stdio.h>
int sushu(int i)
{
int j;
if(i<=1)
return 0;
if(i==2)
return 1;
for(j=2;j<i;j )
{
if(i%j==0)
return 0;
else if(i!=j 1)
continue;
else
return 1;
}
}
int main()
{
int i;
for(i=10;i<1000;i )
if(sushu(i)==1)
if(i/100==0)
{
if(i/10==i)
printf("]",i);
if(i%5==0)
printf("\n");
}
else
if(i/100==i)
printf("]",i);
if(i%5==0)
printf("\n");
return 0;
}
1000 以内所有的回文素數調試運行結果如下所示:
11 101 131 151 181 191 313 353 373 383 727 757 787 797 919 929
總結① 程序由 main() 函數和 sushu() 函數組成,main() 函數調用 sushu() 函數,整型變量 i 為函數參數。
當 sushu () 執行完後,返回到主函數中繼續執行被調函數後面的語句。
② 函數調用語句由函數名、實際參數加上分号“;”組成。
其一般形式為“函數名(實際參數表);”。
執行函數語句就是調用函數體并把實際參數賦予函數定義中的形式參數,然後執行被調函數體中的語句,求取函數值。
不管你是轉行也好,初學也罷,進階也可,如果你想學編程,進階程序員~
【值得關注】我~
,更多精彩资讯请关注tft每日頭條,我们将持续为您更新最新资讯!