首页 > 其他分享 >「洛谷」题解:P1217 回文质数

「洛谷」题解:P1217 回文质数

时间:2024-04-24 18:00:50浏览次数:19  
标签:题目 函数 int 题解 质数 程序 P1217 回文

题目传送门

看着题目好像很简单的样子,实际上做起来才会发现,这么多函数他奶奶的是普及-难度?

在这道题目当中,我们最少需要写两个函数,如果需要优化可以再多写一个,待会儿的代码我们就直接放最简单版本的了。有人说这道题可以暴力对拍之后再输出,这完全可以,但是这么简单的题目不至于使用枚举,而且如果直接输出的话工程量会巨大,还不如直接把数据下载下来呢

OK,接下来就是你们最喜欢的代码环节~

代码

#include<bits/stdc++.h>
using namespace std;
int l, r;
bool check1(int x) {
	if((1000 <= x && x <= 9999) || (100000 <= x && x <= 999999)) return 0;
	return 1;
}

bool check2(int x) {
	int a[20], flag = 1;
	while(x > 0) {
		a[flag] = x % 10;
		x /= 10;
		flag++;
	} 
	for(int i = 1; i <= flag / 2; i++){
		if(a[i] != a[flag-i]) return 0;
	}
	return 1;
} 

bool check3(int x) {
	if(x == 2) return 1;
	for(int i = 2; i * i <= x; i++)
		if(x % i == 0) return 0;
	return 1;
}

int main() {
	scanf("%d %d", &l, &r);
	if(l == 2) printf("2\n");
	if(l % 2 == 0) l++; 
	r = min(9999999, r);
	for(int i = l; i <= r; i = i + 2) {
		if(check1(i) == 0) continue;
		if(check2(i) == 0) continue;
		if(check3(i) == 0) continue;
		printf("%d\n", i);
	}	
	return 0;
}

乍一看觉得很多的同学举个爪爪!虽然程序的行数是挺多的,但是使用函数对于这道题目来说还是简单多了,函数可以给程序进行分区,对于解决这种多个条件的题目很有用

我们的check1函数是 一个函数,他之所以是个函数,是因为他是个函数 前面所讲到的优化程序函数,他可以判断一个值的大小是否符合要求,就像这里的if((1000 <= x && x <= 9999) || (100000 <= x && x <= 999999))就是为了避免程序把一些不可能产生回文数的范围给循环了,加快了程序的速度,不写这个函数的话可能会TLE,除非你运气好

check2函数和check3函数就是判断质数和判断回文的函数了,也是很简单的,在此不过多赘述

好了,这就是我们今天的题目,都看到这了,推荐一下当个好人呗!

标签:题目,函数,int,题解,质数,程序,P1217,回文
From: https://www.cnblogs.com/charzie-blog/p/18156028

相关文章

  • MySQL分区为什么采取质数101呢?
    MySQL分区为什么采取质数101呢?质数101个分区的底层原理涉及到MySQL分区的工作机制以及质数在分布均匀性方面的特性。MySQL分区机制:MySQL支持分区表,可以将表按照一定的规则分成多个分区,每个分区可以独立地进行管理和操作。分区表可以提高查询效率、降低维护成本、提高可用性等。......
  • 2022ccpc题解
    2023年第五届河南省CCPC大学生程序设计竞赛ProblemA.Mocha上小班啦思路:求n个数位的最小值,条件:每一位数字都不同切不含前导零。只需要把0放到第二位,其他按从小到大输出,大于10以后输出-1即可。#include<bits/stdc++.h>usingnamespacestd;intmain(){//预处......
  • P5900 无标号无根树计数 题解
    不懂为啥都要对原式神秘转化之后再牛顿迭代,直接对原式牛顿迭代即可!完全不用转化!设无标号有根树的组合类是\(\mathcalT\),则有\(\mathcalT=\mathcalZ\times\mathrm{MSET}(\mathcalT)\),即\(T(x)=x\exp\sum\limits_{j\ge1}\dfrac{T(x^j)}j\),设\(G(F(x))=F(x)-x\exp\sum\lim......
  • abc340E题解
    题目描述样例input:5312345240output:04272算法1(树状数组)$O(nlogn)$本题我们可以看作对于每一个查询位置x我们都需要先把该位置上的所有球拿出来,然后再一个一个的放到对应位置上去。假设x位置上面有y个球,那么对于这y个球,如果大于n,那么就对所有的位置放y......
  • 如何批量生成大质数
    起因教授在写哈希,经常要找一些大的但是不常用的质数,教授不想背,所以打了这个。线性筛虽然时间上效率比埃氏筛高,但是相应的,空间是要比埃氏筛大的。所以选了埃氏筛。freopen是必不可少的。#include<bits/stdc++.h>usingnamespacestd;boola[1000000001];longlongd;voidais......
  • P3667 Bovine Genomics Hash+二分题解
    砂金听说了你在学字符串,于是在CLOI里出了道题给你P3667BovineGenomics题链:洛谷hzoi提高\(hash\)基础题。思路是二分答案,\(check\)中比较每一个区间字串的\(hash\)值是否相等。比较的时候可以用\(set\)或\(map\)。\(set\)的好处在于无重元素,判断时先将\(a\)串中区间子串......
  • 抢先看!美团、京东、360等大厂面试题解析,技术面试必备。
    技术面试必备!美团、京东、360等大厂面试题详解,让你轻松应对各大公司面试挑战!往期硬核面经哦耶!冲进腾讯了!牛逼!上岸腾讯互娱和腾讯TEG!腾讯的面试,强度拉满!前几篇文章分享了上岸腾讯的最新面经。不少粉丝股东留言说别只发腾讯的啦,其他大厂的也安排一些吧,比如美团、360、京东的......
  • [ABC329C] Count xxx 题解
    [ABC329C]Countxxx题解题目分析目的:统计本质不同而不是位置不同的所有字符都相同的字串。需要理解一下什么是本质不同而不是位置不同。结合样例1去理解这句话。列举样例1中的所有所有组成字符相同的字串。aaabaa编号字串位置\(1\)a\([1,1]\)\(2\)aa\([1......
  • [题解]ARC176 A~B
    赛时心态崩了,0pts遗憾离场……今天在学校冷静思考了下。发现B题思路其实很简单,不过A题怎么也没有想到,回来看了题解,其实思路也很简单,不过是自己思考方向错了。看来打比赛心态很重要,如果能冷静下来思考结果会好很多。果然算法竞赛不能被常理所束缚(笑)A-01MatrixAgain行列从\(0......
  • 题解 UOJ577【[ULR #1] 打击复读】
    题解UOJ577【[ULR#1]打击复读referencehttps://www.cnblogs.com/crashed/p/17382894.htmlhttps://www.cnblogs.com/sizeof127/articles/17579027.html字符串——黄建恒,广东实验中学题目描述为了提升搜索引擎的关键词匹配度以加大访问量,某些网站可能在网页中无意义复读大......