首页 > 编程语言 >每日OJ题_牛客_BC157素数回文_数学_C++_Java

每日OJ题_牛客_BC157素数回文_数学_C++_Java

时间:2024-11-08 22:47:55浏览次数:3  
标签:tmp Java OJ long 牛客 素数 C++ str 回文

目录

牛客_BC157素数回文_数学

题目解析

C++代码

Java代码


牛客_BC157素数回文_数学

素数回文_牛客题霸_牛客网

描述:

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

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

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

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

输入描述:

输入只有1行。

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

数据保证:9<t<10^9

输出描述:

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


题目解析

        如果p是一个质数,而且整数a与p互质(即最小公因数gcd(a,p)=1),则有a^(p−1)≡1(mod p)(模p同余符号)。但是这个命题的逆命题不一定能判断一个数是否为素数,只能说明不满足a^(p−1)≡1(mod p)条件的 p 一定是合数。在本算法里,主要就是运用了它的逆命题来检验素数的。

C++代码

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

bool isPrime(long long n)
{
    if(n < 2)
        return false;
    for(int i = 2; i <= sqrt(n); ++i)
    {
        if(n % i == 0)
            return false;
    }
    return true;
}

int main()
{
    string str;
    cin >> str;
    string tmp = str;
    for(int i = str.size() - 2; i >= 0; --i)
    {
        tmp += str[i];
    }
    long long n = atoll(tmp.c_str()); // to long long!!!
    // cout << n << " ";
    if(isPrime(n))
        cout << "prime" << endl;
    else
        cout << "noprime" << endl;
    return 0;
}

Java代码

import java.util.Scanner;
// 注意类名必须为 Main, 不要有任何 package xxx 信息
public class Main
{
    public static long change(String s)
    {
        StringBuffer tmp = new StringBuffer(s);
        for(int i = s.length() - 2; i >= 0; i--)
        {
            tmp.append(s.charAt(i));
        }
        return Long.parseLong(tmp.toString());
    }
    public static boolean isprim(long x)
    {
        if(x <= 1)
            return false;
        for(long i = 2; i <= Math.sqrt(x); i++)
        {
            if(x % i == 0)
                return false;
        }
        return true;
    }
    public static void main(String[] args) 
    {
        Scanner in = new Scanner(System.in);
        String s = in.next();
        long x = change(s);
        if(isprim(x))
            System.out.println("prime");
        else
            System.out.println("noprime");
    }
}

标签:tmp,Java,OJ,long,牛客,素数,C++,str,回文
From: https://blog.csdn.net/GRrtx/article/details/143633859

相关文章

  • JavaWeb --cookie和session技术
    Cookiecookie*客户端技术,存放在客户端,由服务器发放给用户保存*一个Cookie只能存放一个键值对Cookiecookie=newCookie(""(name),""(value));//设置cookie有效期单位秒//>0表示cookie有效期//=0删除cookie//<0会话cookiecookie.setMaxAge(0);//将cookie响应给客......
  • 简略的图书系统(对刚学完的javase语法运用)
    目录1,实现图书系统的思维过程(使不同的内容构架联系起来)2,主要操作的代码2.1,IOPeration2.2,AddOperation2.3,BorrowedOperation2.4,DelOperation2.5,ExitOperation2.6,FindOperation2.7,ReturnOperation2.8,ShowOperation2.9,Main刚学完javase,对知识使用起来,让自己熟悉和进......
  • C++之setw
    1.什么是setwsetw是C++中一个用于控制输出宽度的操纵符(manipulator),它定义在<iomanip>头文件中。通过setw可以指定下一个输出项应占用的字符宽度,在格式化输出时非常有用。2.setw的作用setw(n)设置的宽度n表示下一个要输出的项所占的最小宽度。如果输出项的实际字......
  • C++之endl以及它与换行符的区别
    看下C++_primer上的一段话,并给予解释:1.endl是操纵符在C++中,endl是一种特殊的操纵符(manipulator),它的作用不仅是结束一行(相当于换行),还会刷新缓冲区。操纵符是一种可以影响输出行为的特殊值,比如endl、setw等。题外话想要了解更多关于setw的内容,可以看下这篇博客C++之set......
  • C++中类和结构体的互相继承
    在C++中,struct可以继承类,反之,类也可以继承struct。struct和类的唯一区别在于访问级别,默认情况下,struct的成员是public,而类的成员是private。以下是一个简单的例子:classBaseClass{public:voidBaseFunction(){std::cout<<"FunctioninBaseClass"<<std::endl;......
  • C++之fixed
    在C++中,fixed是一个操纵符(manipulator),用于指定浮点数的显示格式。在默认情况下,C++会使用科学计数法或定点(小数点)格式输出浮点数,具体取决于数值的大小和有效位数。然而,当使用fixed时,它会强制所有浮点数都以定点格式显示,即以小数点后的固定位数输出,不使用科学计数法。fixed......
  • flask基于java的课程答疑系统设计(毕设源码+论文)
    本系统(程序+源码+数据库+调试部署+开发环境)带论文文档1万字以上,文末可获取,系统界面在最后面。系统程序文件列表开题报告内容一、选题背景关于课程答疑系统的研究,现有研究主要集中在系统的基本功能构建与实现方面。在国内外,已经有不少课程答疑系统被开发出来,并且在学校和教......
  • clean-java-project-structure-实现秒杀系统
    clean-java-project-structure-意在clean&standard断WAN手撕了一个平平无奇的秒杀系统,crud过载,赶紧多看看源码缓缓秒杀系统实现-前言在互联网高速发展的时代,电商平台的各种促销活动层出不穷,其中“秒杀”活动以其低价、限时、限量的特点吸引了大量用户,成为电商平台吸......
  • 基于Java+SpringBoot心理测评心理测试系统功能实现八
    一、前言介绍:1.1项目摘要心理测评和心理测试系统在当代社会中扮演着越来越重要的角色。随着心理健康问题日益受到重视,心理测评和心理测试系统作为评估个体心理状态、诊断心理问题、制定心理治疗方案的工具,其需求和应用范围不断扩大。首先,现代社会节奏快速,竞争激烈,人们面临着来......
  • 基于Java+SpringBoot心理测评心理测试系统功能实现七
    一、前言介绍:1.1项目摘要心理测评和心理测试系统在当代社会中扮演着越来越重要的角色。随着心理健康问题日益受到重视,心理测评和心理测试系统作为评估个体心理状态、诊断心理问题、制定心理治疗方案的工具,其需求和应用范围不断扩大。首先,现代社会节奏快速,竞争激烈,人们面临着来......