C语言求回文素数

C语言求回文素数,第1张

概述任意的整数,当从左向右读与从右向左读是相同的,且为素数时,称为回文素数。求 1000 以内的所有回文素数。 算法思想 实例的重点是判断一个数是否是回文素数。要输出 1000 以内的所 任意的整数,当从左向右读与从右向左读是相同的,且为素数时,称为回文素数。求 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%10)                    printf("%5d",i);                if(i%5==0)                    printf("\n");            }            else                if(i/100==i%10)                    printf("%5d",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 () 执行完后,返回到主函数中继续执行被调函数后面的语句。

② 函数调用语句由函数名、实际参数加上分号“;”组成。其一般形式为“函数名(实际参数表);”。执行函数语句就是调用函数体并把实际参数赋予函数定义中的形式参数,然后执行被调函数体中的语句,求取函数值。 总结

以上是内存溢出为你收集整理的C语言求回文素数全部内容,希望文章能够帮你解决C语言求回文素数所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/langs/1235224.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-06-06
下一篇 2022-06-06

发表评论

登录后才能评论

评论列表(0条)

保存