UVA12802 题解
本蒟蒻的第一篇题解。
这道题的核心就是判断一个整数是不是回文质数。
如何判断质数?
灰常简单,我们只需要这样的几行代码:
bool is_prime(int x) {
if (x <= 1)
return false;
for (int i = 2; i * i <= x; i++)
if (!(x % i))
return false;
return true;
}
这一步可以一笔带过。
如何判断回文数?
- 在
<string>中,函数to_string()可以将一个int转换为一个string。具体用法参见这里。 - 在
<algorithm>中,函数reverse()可以将一个string反转。具体用法参见这里。
于是,我们便可以:
先把输入的整数转换为一个字符串:
string str = to_string(x);
然后再求出反转后的字符串:
string str_reverse = str;
reverse(str_reverse.begin(), str_reverse.end());
综上所述,我们就可以喜提一份代码了!
Code
#include <cstdio>
#include <string>
#include <algorithm>
using namespace std;
#define Yuanshen return
#define Qidong 0
// 神奇的宏定义
bool is_prime(int x); // 质数判断
int main() {
int x; // 输入的整数
string str, str_reverse; // str 是由 x 变成的字符串,str_reverse 是 str 反转后的字符串
bool flag = 1; // 用于判断是否输出过一个回文质数
while (scanf("%d", &x) != EOF) { // 循环读入
if (!flag)
continue; // 如果已经输出了一个回文质数,那就不用理会输入了
printf("%d\n", x * 2); // 先输出再说
str_reverse = str = to_string(x);
reverse(str_reverse.begin(), str_reverse.end());
if (str == str_reverse && is_prime(x))
flag = 0;
}
Yuanshen Qidong; // 大功告成,原神启动
}
bool is_prime(int x) {
if (x <= 1)
return false;
for (int i = 2; i * i <= x; i++)
if (!(x % i))
return false;
return true;
} // 小学二年级就会写的(bushi)几行代码
UVA12802 题解的更多相关文章
- 2016 华南师大ACM校赛 SCNUCPC 非官方题解
我要举报本次校赛出题人的消极出题!!! 官方题解请戳:http://3.scnuacm2015.sinaapp.com/?p=89(其实就是一堆代码没有题解) A. 树链剖分数据结构板题 题目大意:我 ...
- noip2016十连测题解
以下代码为了阅读方便,省去以下头文件: #include <iostream> #include <stdio.h> #include <math.h> #incl ...
- BZOJ-2561-最小生成树 题解(最小割)
2561: 最小生成树(题解) Time Limit: 10 Sec Memory Limit: 128 MBSubmit: 1628 Solved: 786 传送门:http://www.lyd ...
- Codeforces Round #353 (Div. 2) ABCDE 题解 python
Problems # Name A Infinite Sequence standard input/output 1 s, 256 MB x3509 B Restoring P ...
- 哈尔滨理工大学ACM全国邀请赛(网络同步赛)题解
题目链接 提交连接:http://acm-software.hrbust.edu.cn/problemset.php?page=5 1470-1482 只做出来四道比较水的题目,还需要加强中等题的训练 ...
- 2016ACM青岛区域赛题解
A.Relic Discovery_hdu5982 Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/65536 K (Jav ...
- poj1399 hoj1037 Direct Visibility 题解 (宽搜)
http://poj.org/problem?id=1399 http://acm.hit.edu.cn/hoj/problem/view?id=1037 题意: 在一个最多200*200的minec ...
- 网络流n题 题解
学会了网络流,就经常闲的没事儿刷网络流--于是乎来一发题解. 1. COGS2093 花园的守护之神 题意:给定一个带权无向图,问至少删除多少条边才能使得s-t最短路的长度变长. 用Dijkstra或 ...
- CF100965C题解..
求方程 \[ \begin{array}\\ \sum_{i=1}^n x_i & \equiv & a_1 \pmod{p} \\ \sum_{i=1}^n x_i^2 & ...
- JSOI2016R3 瞎BB题解
题意请看absi大爷的blog http://absi2011.is-programmer.com/posts/200920.html http://absi2011.is-programmer.co ...
随机推荐
- 洛谷 P6626 [省选联考 2020 B 卷] 消息传递
洛谷 P6626 [省选联考 2020 B 卷] 消息传递 Problem 原题传送门 给一棵有\(n\)个节点的树.有\(m\)个询问,每次给出一对\(x,k\)表示查询到点\(x\)的距离为\(k ...
- MYSQL优化学习总结
mysql学习小结---索引的使用及优化 1. 索引那些事 1.1 复合索引 复合索引是指:包含一个或者多个列的索引.但复合索引的触发是有条件的. 假设我们现在有一个复合索引a,a中包含了三个列(id ...
- Go标准库Cond
Go标准库的Cond Go 标准库提供 Cond 原语的目的是,为等待 / 通知场景下的并发问题提供支持.Cond 通常应用于等待某个条件的一组 goroutine,等条件变为 true 的时候,其中 ...
- 1分钟了解 GPT-1到GPT-3 演化过程
在研发ChatMoney这款产品的时候,我开始深入研究GPT的诞生,逐记录下来分享给大家. 前言 Generative Pre-trained Transformer(GPT)系列是由OpenAI开发 ...
- C++ stack容器 总结
-----------------------------------stack 容器 stack是一种先进后出(first in last out,FILO)的数据结构,他只有一个出口,stack只 ...
- CentOS7 - 安装NextCloud
a { display: block } 首先安装LAMP环境 通过PhpMyAdmin,为NextCloud新建一个数据库.访问地址为 http://IP地址/phpmyadmin/ 下载最新版本的 ...
- ble设备的第一次成功例子
http://www.cnblogs.com/vamei/p/6753531.html#undefined 参考博客 树莓派作为BLE外设 下一步,我们尝试用树莓派进行BLE通信.我们先把一个树莓派改 ...
- 流形 & 非流形 释义
非流形边 A non-manifold edge has more than two incident triangles. 就是一个边由超过两个三角形相交.就是非流形边. 非流形顶点 比如两个三棱锥 ...
- 自动安装依赖的 ubuntu dpkg 的竞品gdebi
简介 dpkg 安装的时候总会出现缺少依赖的情况要自己可能手动安装,但是有了gdebi就可以帮你轻松搞定. 例如坚果云的安装 使用gdebi安装,自动安装依赖 sudo gdebi nautilus_ ...
- opengl 学习 之 08 lesson
opengl 学习 之 08 lesson 简介 基础的光照渲染.漫反射,镜面反射,环境光. 光的主要计算在GLSL里面的碎片着色器中编写. link http://www.opengl-tutori ...