简单数学基础【素数回文】+ 模拟【机器翻译】

本文探讨了两个算法问题,一是素数回文的判断,要求素数的位数递减或递增,且回文数也是素数。另一个是机器翻译的模拟,分析了软件如何在内存限制下进行翻译并计算需要查询词典的次数。
摘要由CSDN通过智能技术生成

1.素数回文

题目描述

现在给出一个素数,这个素数满足两点:

1、 只由1-9组成,并且每个数只出现一次,如13,23,1289。

2、 位数从高到低为递减或递增,如2459,87631。

请你判断一下,这个素数的回文数是否为素数(13的回文数是131,127的回文数是12721)。
 

输入描述:

输入只有1行。

第1行输入一个整数t,保证t为素数。

数据保证:9<t<109

输出描述:

输出一行字符串,如果t的回文数仍是素数,则输出“prime”,否则输出"noprime"。

题解说明:

这个题的思路比较简单,读完题之后基本能够得到。

先通过输入生成所输入素数的回文形式,然后在经过素数判断函数得出答案输出即可。

一开始这样写素数判断会超时

bool prime(ll x){
    if(x < 2)
        return false;
    for(int i = 2; i * i <= x; i++)
        if(x % i == 0)
            return false;
    return true;
}

后面换成这样就不会了....疑惑??

bool prime(ll x){
    if(x < 2)
        return false;
    for(int i = 2; i <= x
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值