任意的整数,当从左向右读与从右向左读是相同的,且为素数时,称为回文素数。求以内的所有回文素数。
算法思想实例的重点是判断一个数是否是回文素数。要输出以内的所有回文素数,首先应判断这个数是否是素数;
如果是,再进一步判断这个数是两位数还是三位数,若是两位数,则需判断个位数和十位数是否相同;
若是三位数,则需判断个位数和百位数是否相同。若相同,则判断为回文素数,否则继续下次判断。
①定义一个函数sushu,其作用是判断一个数是否是素数。
②对判断为素数的数,再判断其是否是两位数。
若是两位数,再判断其个位数和十位数是否相同,若相同则打印输出;若不相同,则执行④;若不是两位数,则执行③。
③若是三位数,则判断其个位数和百位数是否相同。若相同,则打印输出;若不相同,则执行④。
④循环控制变量i自增1。
⑤直到i自增至结束。
程序代码#includestdio.hintsushu(inti){intj;if(i=1)return0;if(i==2)return1;for(j=2;ji;j++){if(i%j==0)return0;elseif(i!=j+1)continue;elsereturn1;}}intmain(){inti;for(i=10;i;i++)if(sushu(i)==1)if(i/==0){if(i/10==i%10)printf("%5d",i);if(i%5==0)printf("\n");}elseif(i/==i%10)printf("%5d",i);if(i%5==0)printf("\n");return0;}调试运行结果
以内所有的回文素数调试运行结果如下所示:
总结①程序由main()函数和sushu()函数组成,main()函数调用sushu()函数,整型变量i为函数参数。
当sushu()执行完后,返回到主函数中继续执行被调函数后面的语句。
②函数调用语句由函数名、实际参数加上分号“;”组成。
其一般形式为“函数名(实际参数表);”。
执行函数语句就是调用函数体并把实际参数赋予函数定义中的形式参数,然后执行被调函数体中的语句,求取函数值。
不管你是转行也好,初学也罢,进阶也可,如果你想学编程,进阶程序员~
我的编程学习交流俱乐部:
全栈程序员正在等你加入~
点击下方↓原文链接即可直接进入~
Z萌宝