yzoi1109&&viojs1042最小步数的一点看法——回文数
Description - 问题描述
有一天,雄霸传授本人风神腿法第一式:捕风捉影..............的步法(弟子一:堂主,你大喘气呀。风:你给我闭嘴。)捕风捉影的关键是换气(换不好就会大喘气...)。
使用捕风捉影这一招时并不是每一步都喘气,而是在特定的步数喘气。一般来说功力越高,喘气越稀疏。喘气的步数符合特定规律:第一要是SUSHU(弟子二:哇塞!堂主,你还会鸟语,我好好崇拜你呦!可是SUSHU是什么意思呢?风:笨蛋,那是汉语拼音!)第二要是一个回文数,回文数就是正反念一样的数,如:123321,121,5211314(弟子三:堂主,最后一个好象不是...风:废话,当然不是了,我是考察一下你们的纠错能力!)现在给出两个数M,N(5< =M< N< =100,000,000),你要算出M,N之间需要换气的都有哪几步。(包括M,N)。算出来的可以提升为本堂一级弟子,月薪(1000000000000000000000000000000000000000000 MOD 10 )元。
可能在众位神犇看来这是一道水的不能再水的题目,但我认为还是有必要提一提的。首先,这是一道判断素数+回文数的题,对于回文数,百度的定义是如下的:
#include<iostream>
using namespace std;
bool symm(long m)
{
long temp = m,n=;
while (temp)
{
n = n*+temp%;
temp = temp/;
}
return (m == n);
}
int main(int argc, _TCHAR* argv[])
{
long m;
cout<<"请输入一个整数:";
cin>>m;
cout<<"输入了"<<symm(m)<<"个回文数!";
return ;
}
个人认为,对于回文数的判断基本可用该法进行。但同时亦可以string读入,用s.size()判断是奇是偶,后再从中向左向右搜索即可。
我的代码:
#include<iostream>
#include<cmath>
using namespace std;
const int maxn=;
//int p[maxn];
int m,n;
//int sum=0;
//void make()
//{
// p[1]=1;
// for(int i=2;i<=sqrt(maxn);i++)
// if(p[i]==0)
// for(int j=2;j<=sqrt(maxn)/i;j++)
// p[i*j]=1;
//}
bool pd_1(int m)
{
int temp=m,n=;
while(temp)
{
n=n*+temp%;
temp/=;
}
return (m==n);
}
//bool pd_2(int m)
//{
// if(p[m])
// return false;
// else
// return true;
//}
bool pd_2(int m)
{
for(int i=;i<=sqrt(m);i++)
{
if(m%i==)
return false;
}
return true;
}
bool pd_3(int m)
{
int k=m%;
if((k==||k==||k==||k==||k==||k==)&&(m/>=))
return false;
else
return true;
}
int main()
{
// make();
cin>>m>>n;
if (n>)
n=;
for(int i=m;i<=n;i++)
{
if(pd_1(i)&&pd_3(i))
if(pd_2(i))
cout<<i<<endl;
}
return ;
}
/**************************************************************
Problem: 1109
User: lwq
Language: C++
Result: Accepted
Time:559 ms
Memory:1320 kb
****************************************************************/
yzoi1109&&viojs1042最小步数的一点看法——回文数的更多相关文章
- 洛谷 P1609 最小回文数 题解
这题其实并不难,重点在你对回文数的了解,根本就不需要高精度. 打个比方: 对于一个形如 ABCDEFGH 的整数 有且仅有一个比它大的最小回文数 有且仅有一个比它小的最大回文数 而整数 ABCDDCB ...
- 洛谷——P1609 最小回文数
题目描述 回文数是从左向右读和从右向左读结果一样的数字串. 例如:121.44 和3是回文数,175和36不是. 对于一个给定的N,请你寻找一个回文数P,满足P>N. 满足这样条件的回文数很多, ...
- 洛谷—— P1609 最小回文数
https://www.luogu.org/problemnew/show/1609 题目描述 回文数是从左向右读和从右向左读结果一样的数字串. 例如:121.44 和3是回文数,175和36不是. ...
- Newtonsoft.Json C# Json序列化和反序列化工具的使用、类型方法大全 C# 算法题系列(二) 各位相加、整数反转、回文数、罗马数字转整数 C# 算法题系列(一) 两数之和、无重复字符的最长子串 DateTime Tips c#发送邮件,可发送多个附件 MVC图片上传详解
Newtonsoft.Json C# Json序列化和反序列化工具的使用.类型方法大全 Newtonsoft.Json Newtonsoft.Json 是.Net平台操作Json的工具,他的介绍就 ...
- palindrome number(回文数)
Determine whether an integer is a palindrome. Do this without extra space. Some hints: Could negativ ...
- C语言实现计算双基回文数详解
双基回文数的定义: 如果一个正整数n至少在两个不同的进位制(二进制<=进制=<十进制)b1和b2下都是回文数,则称n是双基回文数. 根据定义,简单的说就是在二进制到十进制之间(包括十进制和 ...
- [Swift]LeetCode564. 寻找最近的回文数 | Find the Closest Palindrome
Given an integer n, find the closest integer (not including itself), which is a palindrome. The 'clo ...
- ALGO-14_蓝桥杯_算法训练_回文数
问题描述 若一个数(首位不为零)从左向右读与从右向左读都一样,我们就将其称之为回文数. 例如:给定一个10进制数56,将56加65(即把56从右向左读),得到121是一个回文数. 又如:对于10进制数 ...
- C# 算法题系列(二) 各位相加、整数反转、回文数、罗马数字转整数
各位相加 给定一个非负整数 num,反复将各个位上的数字相加,直到结果为一位数. 示例: 输入: 输出: 解释: 各位相加的过程为: + = , + = . 由于 是一位数,所以返回 . 进阶:你可以 ...
随机推荐
- Selenium如何实现dropbar移动
遇到这个拖拽的dropbar,如何实现呢,, 经过网上查找,可以用Action的方式实现或者js来控制 原理:移动按钮的同时,数字也随着变化 解决方法:1.最简单的就是直接在文本框输入相应的数字 2. ...
- tyvj P1952 Easy(递推+期望)
P1952 Easy 时间: 1000ms / 空间: 131072KiB / Java类名: Main 描述 某一天WJMZBMR在打osu~~~但是他太弱逼了,有些地方完全靠运气:(我们来简化一下 ...
- .net 4中的pInvokeStackImbalance MDA默认是开启的
今天把我之前发的一个小工具FreeEverything(基于everything的一个简易磁盘清理工具)升级到了.net framework 4.5,并且去掉了对mvvmlight的依赖.结果在测试运 ...
- oracle正则截取字符串的函数
现在有这么一个需求, 数据库中的一个手输的'籍贯'字段,要按一定的规范截取显示在报表上,比如,如果'籍贯'的内容是:'山东省潍坊市昌乐县', 那么报表里要显示为:'山东昌乐', 如果'籍贯'是山东省潍 ...
- thinkphp 统计某个字段不重复数 总数
$this->batch->count('DISTINCT intobatch');
- 粗谈pcap_next_ex()
pcap_next_ex(pcap_t* p,struct pcap_pkthdr** pkt_header,const u_char** pkt_data) 功能: 从interface或离线记 ...
- 初步掌握MapReduce的架构及原理
目录 1.MapReduce定义 2.MapReduce来源 3.MapReduce特点 4.MapReduce实例 5.MapReduce编程模型 6.MapReduce 内部逻辑 7.MapRed ...
- 使用navicat 11 出现不能返回存储过程结果的问题
问题: 使用navicat 11 调试存储过程,select返回结果,总是不能返回. 原因: 经google发现,navicat仅支持返回10个resultset,超过则不现实. 解决方法: 减少存储 ...
- Dapper Use For Net
Dapper.Net by example januari 6, 2012 When the team behind StackOverflow released the mini-ORM Dappe ...
- Java基础知识强化之集合框架笔记27:ArrayList集合练习之去除ArrayList集合中的重复字符串元素
1. 去除ArrayList集合中的重复字符串元素(字符串内容相同) 分析: (1)创建集合对象 (2)添加多个字符串元素(包含重复的) (3)创建新的集合 (4)遍历旧集合,获取得到每一个元素 (5 ...