【C++】牛客——BC157 素数回文

news/2024/7/5 4:18:54

✨题目链接:

BC157 素数回文


✨题目描述 

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

  1. 只由1-9组成,并且每个数只出现一次,如13,23,1289。
  2.  位数从高到低为递减或递增,如2459,87631。

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

✨输入描述:

输入只有1行。

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

数据保证:9\leq t\leq 10^{9}

✨输出描述:


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

✨备注

素数定义为在大于1的自然数中,除了1和它本身以外不再有其他因数。
素数的回文数为题意中的定义,1331不是素数的回文数。

✨示例1


📍输入

13


📍输出


prime


📍说明

13的回文数是131,131是素数

✨示例2


📍输入

17


📍输出

noprime


📍说明

17的回文数是171,171不是素数(因子有3)


✨解题思路

因为9\leq t\leq 10^{9} 还要取t的回文数,所以我们用long long类型

按题目意思 如果 t 是 13 那 131 才是回文数 ,而1331不是回文数

先把 t 的回文数求出,然后判断是否为素数

( 循环从2遍历到这个数超时,所以用sqrt()进行开方 )


✨代码
 

#include <cmath>
#include <iostream>
using namespace std;

typedef long long ll;


bool isPrime(ll x) //判断x是否是素数
{

   for (ll i = 2; i < sqrt(x); i++)
   {
       if (x % i == 0)
       {
           return false;
       }
   }
   return true;
}

int main() 
{
    ll t;
    cin>>t;
    ll tmp = t/10;
    while(tmp)
    {
        t=t*10+tmp%10;
        tmp/=10;
    }
    if(isPrime(t))
    {
        cout<<"prime"<<endl;
    }
    else {
        cout<<"noprime"<<endl;
    }
    return 0;
}


※ 如果文章对你有帮助的话,可以点赞收藏!!谢谢支持


http://lihuaxi.xjx100.cn/news/2173548.html

相关文章

香橙派 AIpro的NPU随手记体验日记

昇腾AI 技术路线 8TOPS INT8&#xff08;FP16&#xff09;AI算力 LPDDR4X 8GB/16GB &#x1f4c5; 20240525 开放了原理图和源码&#xff0c;功能接口就不描述了手册都有描述&#xff0c;新手好好学习可以从底层覆盖到应用一个载板拿下 完成香橙派AIpro上手体验 镜像安装&am…

Android刮刮卡自定义控件

效果图 刮刮卡自定义控件 import android.content.Context; import android.graphics.Bitmap; import android.graphics.Canvas; import android.graphics.Color; import android.graphics.Paint; import android.graphics.Path; import android.graphics.PorterDuff; import …

vr数字成果展在线展示突破用户传统认知

想要轻松搭建一个充满互动与创意的3D数字展厅吗?vr互动数字展厅搭建编辑器将是您的不二之选!华锐视点3D云展平台提供的vr互动数字展厅搭建编辑器将空间重建与互动制作完美结合&#xff0c;让您轻松实现3D空间的搭建与互动营销制作。 在vr互动数字展厅搭建编辑器的帮助下&#…

图论中的两种递推计数法

递推计数法 生成树计数&#xff1a; τ ( G ) τ ( G − e ) τ ( G ⋅ e ) \tau(G) \tau(G-e)\tau(G\cdot e) τ(G)τ(G−e)τ(G⋅e) G的生成树的颗数&#xff0c;可以分为两类&#xff1a;包含边e的为 τ ( G ⋅ e ) \tau(G\cdot e) τ(G⋅e)&#xff0c;不包含边e的为 …

零基础学Java第二十五天之Lambda表达式

Lambda表达式 简介 Lambda是一个匿名函数(方法)&#xff0c; 允许把函数作为一个方法的参数 。利用Lambda表达式可以写出更简洁、更灵活的代码。作为一种更紧凑的代码风格&#xff0c;使Java的语言表达能力得到了提升。一般都是优化匿名内部类 基础语法 无参数、无返回值的抽…

qt c++ can通信实现的上位机界面,附源码

qt c can通信实现的上位机界面&#xff0c;附源码

Vue 组件生命周期:探索钩子

title: Vue 组件生命周期&#xff1a;探索钩子 date: 2024/5/27 18:42:38 updated: 2024/5/27 18:42:38 categories: 前端开发 tags: 生命周期异步加载通信原理父子通信兄弟通信跨层通信性能优化 第 1 章&#xff1a;介绍与背景 1.1 什么是 Vue 组件生命周期&#xff1f; …

【C++】vector常见的使用方式

前言&#xff1a;在上一篇中我们讲到了string类的模拟实现&#xff0c;今天我们将进一步的去学习vector的一些常用的使用方法。 &#x1f496; 博主CSDN主页:卫卫卫的个人主页 &#x1f49e; &#x1f449; 专栏分类:高质量&#xff23;学习 &#x1f448; &#x1f4af;代码仓…