【蓝桥杯】PREV-21 回文数字
题目链接:http://lx.lanqiao.org/problem.page?
gpid=T113
本题要求你找到一些5位或6位的十进制数字。满足例如以下要求:
该数字的各个数位之和等于输入的整数。
数字按从小到大的顺序排列。
假设没有满足条件的,输出:-1
499994
589985
598895
679976
688886
697796
769967
778877
787787
796697
859958
868868
877778
886688
895598
949949
958859
967769
976679
985589
994499
然后按从小到大的顺序直接构造。最后直接查找就可以
#include<iostream>
#include<string>
#define N 1000000
using namespace std;
int pos=0,n;
class Node{
public:
int sum;
string num;
void Calc(int k,int flag){
string str="",tmp="";
while(k) {
str+='0'+k%10; k/=10;
}
tmp+=str[2]; tmp+=str[1];
if(flag){
str=tmp+str;
}
else str=tmp+str[0]+str;
num=str;
}
void CalcBit(){
string s=num;
int total=0,len=s.size();
for(int i=0;i<len;i++) total+=s[i]-'0';
sum=total;
}
}x[N];
void init(){
for(int i=100;i<1000;i++){
x[pos].Calc(i,1);
x[pos++].CalcBit();
}
for(int i=100;i<1000;i++){
x[pos].Calc(i,0);
x[pos++].CalcBit();
}
}
int main()
{
init();
cin.sync_with_stdio(false);
cin>>n;
int flag=1;
for(int i=0;i<pos;i++)
if(x[i].sum==n)cout<<x[i].num<<endl,flag=0;
if(flag)cout<<-1<<endl;
return 0;
}
<span style="color: rgb(51, 51, 51); font-family: 宋体, 'Times New Roman';font-size:18px; line-height: 18.5714302062988px;">出处:</span><a target=_blank href="http://blog.csdn.net/mummyding" style="font-family: 宋体, 'Times New Roman';font-size:18px; line-height: 18.5714302062988px;">http://blog.csdn.net/mummyding</a><span style="color: rgb(51, 51, 51); font-family: 宋体, 'Times New Roman';font-size:18px; line-height: 18.5714302062988px;"> </span>
作者:MummyDing
【蓝桥杯】PREV-21 回文数字的更多相关文章
- Java实现蓝桥杯历届试题回文数字
历届试题 回文数字 时间限制:1.0s 内存限制:256.0MB 提交此题 问题描述 观察数字:12321,123321 都有一个共同的特征,无论从左到右读还是从右向左读,都是相同的.这样的数字叫做: ...
- BASIC-9_蓝桥杯_特殊回文数
示例代码: #include <stdio.h> int main(void){ int n = 0 ; scanf("%d",&n); int i = 0 ; ...
- [蓝桥杯]PREV-21.历届试题_回文数字
问题描述 观察数字:, 都有一个共同的特征,无论从左到右读还是从右向左读,都是相同的.这样的数字叫做:回文数字. 本题要求你找到一些5位或6位的十进制数字.满足如下要求: 该数字的各个数位之和等于输入 ...
- [LeetCode] Palindrome Number 验证回文数字
Determine whether an integer is a palindrome. Do this without extra space. click to show spoilers. S ...
- javascript 实现一个回文数字
写一个方法,让"1234"变成回文数字“1234321”,就是顺着读和倒着读都是一样的:注:不让用reverse()方法: function palindrome(str){ va ...
- UVALive 2889(回文数字)
题意:给定i,输出第i个回文数字. 分析:1,2,3,4,……,9------------------------------------------------------------------- ...
- Java 简单算法--打印回文数字
package cn.magicdu.algorithm; public class CircleNumber { public static void main(String[] args) { f ...
- LeetCode 9 Palindrome Number(回文数字判断)
Long Time No See ! 题目链接https://leetcode.com/problems/palindrome-number/?tab=Description 首先确定该数字的 ...
- 算法笔记_181:历届试题 回文数字(Java)
目录 1 问题描述 2 解决方案 1 问题描述 问题描述 观察数字:12321,123321 都有一个共同的特征,无论从左到右读还是从右向左读,都是相同的.这样的数字叫做:回文数字. 本题要求你找 ...
随机推荐
- winf
真的,先亮注册码!!(直接复制即可) 注册码: <第1组> 用户名:大眼仔~旭(Anan) 注册码:01000000007002140V <第2组> 用户名:大眼仔~旭(Ana ...
- linux发送邮件的功能总结
今天添加了发送邮件的功能,总结一下,供以后参考: 1.直接使用管道发送邮件 echo "hello,this is the content of mail.welcome to www.mz ...
- 解决 office2016 意外的严重错误 不能启动程序
启动Microsoft Office ClickToRun Service服务
- java.lang.NoClassDefFoundError: Ljavax/transaction/TransactionManager
网上下载一个 jta.jar包 放到项目 的WebRoot 的lib文件夹下,解决.
- logback-spring.xml配置示例
<?xml version="1.0" encoding="UTF-8"?> <configuration> <include r ...
- 整合ssm框架之配置文件
原文:https://blog.csdn.net/zwyanqing/article/details/53039591 ssm整合 一.applicationContext.xml 1.配置数据源 & ...
- JUC-Condition和Lock实践-线程按序交替执行
编写一个程序,开启 3 个线程,这三个线程的 ID 分别为 A.B.C,每个线程将自己的 ID 在屏幕上打印 10 遍,要求输出的结果必须按顺序显示.如:ABCABCABC…… 依次递归 这里只使用c ...
- mysql find_in_set
select * from IpResourceInfo a where find_in_set(a.id,(SELECT group_concat(CAST(resourcesid AS char) ...
- (转载)JWebUnit做Web项目自动化测试
原址:http://blog.csdn.net/plainfield/archive/2007/07/02/1675546.aspx JwebUnit加构在HttpUnit上,实际上也可以这么说是Ht ...
- [转载][Groovy] Groovy与Java的区别(一)
原文地址:[Groovy] Groovy与Java的区别(一)作者:langyizhao 因为Groovy可以用Java的所有功能(虽然JVM不同的时候可能会比较麻烦,比如在Android上),所以G ...