pascal纯粹素数纯粹素数是这样定义的:一个素数,去掉最高位,剩下的数仍为素数,再去掉剩下的数的最高位,余下的数还是素数.这样下去一直到最后剩下的个位数也还是素数.求出所有小于3000的

来源:学生作业帮助网 编辑:作业帮 时间:2024/05/01 01:13:42
pascal纯粹素数纯粹素数是这样定义的:一个素数,去掉最高位,剩下的数仍为素数,再去掉剩下的数的最高位,余下的数还是素数.这样下去一直到最后剩下的个位数也还是素数.求出所有小于3000的

pascal纯粹素数纯粹素数是这样定义的:一个素数,去掉最高位,剩下的数仍为素数,再去掉剩下的数的最高位,余下的数还是素数.这样下去一直到最后剩下的个位数也还是素数.求出所有小于3000的
pascal纯粹素数
纯粹素数是这样定义的:一个素数,去掉最高位,剩下的数仍为素数,再去掉剩下的数的最高位,余下的数还是素数.这样下去一直到最后剩下的个位数也还是素数.求出所有小于3000的四位的纯粹素数.
输入

输出
按从小到大的顺序输出若干个纯粹素数,每行一个.
在这里个位数是1也算素数

pascal纯粹素数纯粹素数是这样定义的:一个素数,去掉最高位,剩下的数仍为素数,再去掉剩下的数的最高位,余下的数还是素数.这样下去一直到最后剩下的个位数也还是素数.求出所有小于3000的
对于这个题,依稀记得我之前曾回答过,于是找了一下,确实有!
我又看了一下原先的解题,应该还是好理解的,这里附上链接:
http://zhidao.baidu.com/question/551794357.html?oldq=1
原题的数据范围比你的大得多,而且有一点不同,就是你的要求是“求出所有小于3000的四位的纯粹素数”,因此有一些地方要改动一下.
修改后的代码如下:
var i,j,n,t,code:longint;
s:string;
prime:array[2..3000]of boolean;
begin
fillchar(prime,sizeof(prime),true);
readln(n); //这里令n=3000;
for i:=2 to trunc(sqrt(n)) do
if prime[i] then
begin
for j:=2 to n div i do
prime[i*j]:=false;
end; //经过如此,每一个素数对应的数组元素都是true;
for i:=1001 to n do
if prime[i] then
begin
t:=i;
while t>0 do
begin
str(t,s);
delete(s,1,1);
val(s,t,code); //这里用了一个小技巧,运用字符串函数 str 和 val 删去了 t 的最高位.
if not prime[t] then break;
end;
if t

pascal纯粹素数纯粹素数是这样定义的:一个素数,去掉最高位,剩下的数仍为素数,再去掉剩下的数的最高位,余下的数还是素数.这样下去一直到最后剩下的个位数也还是素数.求出所有小于3000的 pascal求100000以内的纯粹素数.一个素数去掉左边的任意位数字后仍然是素数的数称之为纯粹素数. Free Pascal 我需要下列题目的解题思路,而不是直接的答案(如果有答案更好,哎如今像我这样RP好的有几人呢)1.纯粹素数是这样定义的:一个素数,去掉最高位,剩下的数仍为素数,再去掉剩下的 1000到3000内的纯粹素数 素数的定义 素数的定义? 数学中的素数是怎么定义的? 求100以内的素数pascal语言 英语翻译是纯粹的翻译 如果一个两位数是素数,且它的数字位置经过对换后仍为素数,则称为绝对素数,例如13,试编程求出所有两位数pascal 素数的定义是什么素数 质数的定义 什么是素数_请问质数和素数是如何定义的 什么是素数_请问质数和素数是如何定义的 pascal问题(改错)一个自然数是素数,且它的数字位置经过任意对换后仍为素数,称为绝对素数.例如13.试找出所有这样的二位绝对素数.vari,a,b,x,j,k:longint; bz:boolean;beginfor i:=10 to 54 dobeginbz:=false;fo 用free pascal 编程3.如果一个自然数是素数,且它的数字位置经过对换后仍为素数,则称为绝对素数,例如13.试求出所有二位绝对素数.如果一个自然数除了1和本身,还有别的数能够整除它,这样的自 查阅100以内的素数表找出所有这样的素数,它加上6是素数,它减去6仍然是素数 竞争环境的定义纯粹的学术定义 两个素数的和是100,你能写出几对这样的素数?尽快回答