ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

素数回文数

2021-11-07 12:33:41  阅读:241  来源: 互联网

标签:判断 素数 数组 Input runtime 回文


题目描述

Description

小王对既是素数又是回文的数特别感兴趣。比如说151既是素数又是个回文。现在小王想要你帮助他找出某个范围内的素数回文数,请你写个程序找出 a 跟b 之间满足条件的数。(5 <= a < b <= 100,000,000);

输入描述

Input

输入a和b(5 <= a < b <= 100,000,000)

输出描述

Output

按从小到大输出a,b之间所有满足条件的素数回文数  

样本输入

Input example

5 500

样本输出

Output example

5
7
11
101
131
151
181
191
313
353
373
383

         本来用筛选法建立素数表,再在素数表内判断回文数,但是。。。。,一直runtime error。查了资料,好像是数组太大了,num[100000000]导致内存不足。

        网上还有个提示,10亿内的回文素数最大只到九百多万,据此更改数组大小为1千万,并把数组声明为stastic,或在函数外把数组声明为全局变量,但是。。。。还是runtime error,放弃挣扎。。。

        直接在网上搜答案,发现有个答案是用一般方法,先判断回文数,再判断这个数是否素数,(判断素数方法是判断这个数能否被2~n-1这些数整除)。我想:试试吧。于是,把这段常规代码打出来,再加上先前网上那个提示,进一步优化代码。

        结果accept。(后来分析,主要是得益于先判断回文数,再判断素数这个策略,它大大减少了运行时间,判断一个1千万内的数是否回文数好像最多只需10几步。)

标签:判断,素数,数组,Input,runtime,回文
来源: https://blog.csdn.net/m0_59296909/article/details/121189095

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有