美文网首页
c语言求回文素数

c语言求回文素数

作者: 一路向后 | 来源:发表于2021-11-22 21:19 被阅读0次

    1.问题描述

    所谓回文素数指的是,对一个整数n从左向右和从右向左读都相同,且n为素数.
    求所有不超过1000的回文素数.

    2.源码实现

    #include <stdio.h>
    #include <stdlib.h>
    #include <string.h>
    
    /*求反序数*/
    int inverse(int a)
    {
        char b[10];
        int n = 0;
        int c = 0;
        int i = 0;
    
        memset(b, 0x00, sizeof(b));
    
        while(a > 0)
        {
            b[i] = a % 10;
            a /= 10;
            i++;
        }
    
        n = i;
    
        for(i=0; i<n; i++)
        {
            c = 10 * c + b[i];
        }
    
        return c;
    }
    
    /*求平方根*/
    int isqrt(int a)
    {
        int i;
    
        if(a == 1)
        {
            return 1;
        }
    
        for(i=1; i<a; i++)
        {
            if(i*i > a)
            {
                break;
            }
        }
    
        return i-1;
    }
    
    /*判断是否为质数*/
    short isPrime(int a)
    {
        int u;
        int i;
    
        if(a == 1)
        {
            return 0;
        }
    
        u = isqrt(a);
    
        for(i=2; i<=u; i++)
        {
            if(a % i == 0)
            {
                return 0;
            }
        }
    
        return 1;
    }
    
    int main()
    {
        int n = 10000;
        int i = 0;
        int j = 1;
    
        for(i=1; i<1000; i++)
        {
            if(isPrime(i) && inverse(i) == i)
            {
                if(j % 10 == 0)
                {
                    printf("%3d\n", i);
                }
                else
                {
                    printf("%3d ", i);
                }
    
                j++;
            }
        }
    
        if(j % 10 != 0)
        {
            printf("\n");
        }
    
        return 0;
    }
    

    3.编译源码

    $ gcc -o test test.c -std=c89
    

    4.运行及其结果

    $ ./test
      2   3   5   7  11 101 131 151 181 191
    313 353 373 383 727 757 787 797 919 929
    

    相关文章

      网友评论

          本文标题:c语言求回文素数

          本文链接:https://www.haomeiwen.com/subject/msfitrtx.html