`

(Problem 37)Truncatable primes

阅读更多

The number 3797 has an interesting property. Being prime itself, it is possible to continuously remove digits from left to right, and remain prime at each stage: 3797, 797, 97, and 7. Similarly we can work from right to left: 3797, 379, 37, and 3.

Find the sum of the only eleven primes that are both truncatable from left to right and right to left.

NOTE: 2, 3, 5, and 7 are not considered to be truncatable primes.

#include<stdio.h>
#include<math.h>
#include<string.h>
#include<ctype.h>
#include<stdlib.h>
#include<stdbool.h>

bool isprim(int n)
{
    int i=2;
    if(n==1) return false;
    for(; i*i<=n; i++)
    {
        if(n%i==0)  return false;
    }
    return true;
}

bool truncatable_prime(int n)
{
    int i,j,t,flag=1;
    char s[6];
    int sum=0;
    sprintf(s,"%d",n);
    int len=strlen(s);

    if(!isprim(s[0]-'0') || !isprim(s[len-1]-'0')) return false;

    for(i=1; i<len-1; i++)
    {
        t=s[i]-'0';
        if(t==0 || t==2 || t==4 || t==6 || t==5 || t==8)  return false;
    }
    
    for(i=1; i<len-1; i++)
    {
        for(j=i; j<len-1; j++)
        {
            sum+=s[j]-'0';
            sum*=10;
        }
        sum+=s[j]-'0';
        if(!isprim(sum))  return false;
        sum=0;
    }
    j=len-1;
    i=0;
    while(j>i)
    {
        for(i=0; i<j; i++)
        {
            sum+=s[i]-'0';
            sum*=10;
        }
        sum+=s[i]-'0';
        if(!isprim(sum)) return false;
        sum=0;
        i=0;
        j--;
    }
    return true;
}

int main()
{
    int sum,count;
    sum=count=0;
    int i=13;
    while(1)
    {
        if(isprim(i) && truncatable_prime(i))
        {
            count++;
            sum+=i;
            //printf("%d\n",i);
        }
        i=i+2;
        if(count==11)  break;
    }
    printf("%d\n",sum);
    return 0;
}

 

Answer:
748317
分享到:
评论

相关推荐

    PRIMES is in P

    素数的判定问题(Primality Testing Problem)一直是计算机科学和数学领域中的一个重要课题,尤其是在密码学中,大量的加密协议都需要用到大素数。传统的素数判定方法是基于试除法或埃拉托斯特尼筛法,这些方法的...

    matlab开发-Primes

    在MATLAB环境中,"Primes"项目显然与数学中的素数生成有关,特别是利用Simulink进行系统级的实现。Simulink是MATLAB的一个扩展工具箱,它提供了一个图形化用户界面,用于构建、仿真和分析多域动态系统。在本项目中,...

    [素性检测]PRIMES is in P,作者:Manindra Agrawal, Neeraj Kayal, and Nitin Saxena

    **标题与描述解析:**“[素性检测]PRIMES is in P”这篇论文由Manindra Agrawal, Neeraj Kayal, 和 Nitin Saxena三位作者共同完成。该论文的重要贡献在于提出了一种确定性的多项式时间算法来判断一个输入数字是否为...

    primes_100亿.txt.zip

    标题中的"primes_100亿.txt.zip"是一个压缩文件,其中包含了100亿以内的所有素数。这个文件很可能是一个纯文本文件(.txt),被压缩以节省存储空间,便于传输和管理。"zip"是常见的文件压缩格式,它通过数据压缩算法...

    The Little Book of Bigger Primes, 2nd Edition, Paulo Ribenboim.pdf

    《The Little Book of Bigger Primes, 2nd Edition》是由Paulo Ribenboim撰写的一本关于素数的数学专著。素数作为数学中的基础概念,是指在大于1的自然数中,除了1和它本身以外不再有其他因数的数。这本书属于数学...

    primes.c

    primes.c

    PyPI 官网下载 | find_primes-1.1.1.post4.tar.gz

    《PyPI官网下载 | find_primes-1.1.1.post4.tar.gz——探索Python中的素数计算库》 PyPI(Python Package Index)是Python开发者的重要资源库,它为全球的Python用户提供了丰富的第三方库,便于他们进行各种功能的...

    primes.all.txt

    第十三届蓝桥杯大赛软件赛决赛,试题: 小蓝做实验,题目数据 primes.txt

    The Little Book of Bigger Primes, 2nd Edition, Paulo Ribenboim.djvu

    中文版见:数学名著译丛 博大精深的素数__(加)P._里本伯姆著;孙淑玲,冯克勤译.pdf

    java-leetcode题解之Count Primes.java

    java java_leetcode题解之Count Primes.java

    java-leetcode题解之204-Count-Primes

    java入门 java_leetcode题解之204_Count_Primes

    primes:PRIMES 游戏

    【标题】"PRIMES游戏"是一个基于素数概念的在线游戏,它的设计灵感来源于素数这个数学领域的基本概念。素数是大于1且仅能被1和它本身整除的自然数,如2、3、5、7、11等。在这款游戏中,玩家可能需要通过各种方式识别...

    There are infinitely many primes of the form a^2 +1

    文章标题为“存在无穷多个形式为a^2+1的素数”,这篇论文由刘逢绥撰写,旨在证明形式为a^2+1的二项式中存在无穷多个素数,并将这一结果推广到一般多项式的情况中。 首先,我们需要了解什么是素数。...

    Primes-applet.zip_visual c

    本篇文章将深入探讨一个使用C语言编写的素数判定小程序,该程序封装在一个名为"Primes applet"的文档中,是Visual C环境下的一个应用实例。 素数是大于1的自然数,它除了1和它自身外,不能被其他自然数整除。这个...

    Primes.jl:Julia中的素数

    标题"Primes.jl:Julia中的素数"表明这是一个关于Julia编程语言的库,专门用于处理素数相关的计算。它可能是实现了一系列算法和功能,帮助用户在Julia环境中高效地查找、验证和操作素数。 描述同样简洁,"Primes.jl...

    C++-leetcode题解之204-Count-Primes.cpp

    c++ C++_leetcode题解之204_Count_Primes.cpp

    python-leetcode题解之204-Count-Primes.py

    python python_leetcode题解之204_Count_Primes.py

    primes:素数计算工具包

    这是素数列表(请注意,1 不被视为素数): 2, 3, 5, 7, 11, 13, 17, 19, 23, 29, 31, 37, 41, 43, 47, 53, 59, 61, 67, 71, 73, 79, 83, 89, 97, 101, 103, 107, 109, 113, 127, 131, 137, 139, 149, 151, 157, ...

    primes:将前 100 个素数写入文件的小 node.js 脚本

    素数 将前 100 个素数写入文件的小 node.js 脚本 可能不是最好的算法,因为我没有使用 Atkin 的筛子或 Eratosthenes 的筛子,但它可能更糟 :-) 用法 执行node primes.js 创建的文件名为primes.txt

Global site tag (gtag.js) - Google Analytics