合工大OJ 1331 回文数
Description
一个正整数,如果从左向右读(称之为正序数)和从右向左读(称之为倒序数)是一样的,这样的数就叫回文数。
任取一个正整数,如果不是回文数,将该数与他的倒序数相加,若其和不是回文数,则重复上述步骤,一直到获得回文数为止。
例如:
68变成154(68+86),再变成605(154+451),最后变成1111(605+506),而1111是回文数。
于是有数学家提出一个猜想:
不论开始是什么正整数,在经过有限次正序数和倒序数相加的步骤后,都会得到一个回文数。至今为止还不知道这个猜想是对还是错。
现在请你编程序验证之。
Input
Output
Sample Input
37649
Sample Output
37649--->132322--->355553
Hint
2.每组数据保证最多运算100次
友情提示:WA的同学请仔细阅读提示1和提示2
#include<iostream>
#include<string>
using namespace std; bool ishuiwen(string s)
{
for(int i=;i<s.length()/;i++)
{
if(s[i]!=s[s.length()--i])
return ;
}
return ;
} string Add(string s)
{
string sum,x;
for(int i=;i<s.length();i++)
x[i]=s[s.length()-i-];
int len=s.length();
int *a=new int[len+];
a[]=;
int d=;
for(int i=s.length();i>=;i--)//从最低位开始计算两个数各位的和,保存到结果数组
a[i]=s[i-]+x[i-]-''-'';//a[1]为计算后结果的最高位,进位情况还未处理
for(int i=s.length();i>=;i--)//处理进位情况
{
a[i]+=d;//本位加上上一位的进位
if(a[i]>=)//当该位大于等于10时,只保留该位的个位 ,向下一位的进位d为十位
{
d=a[i]/;
a[i]%=;
}
else if(a[i]<)//当该位小于10是,向高位的进位为0
d=;
}
if(a[]>)
for(int i=;i<s.length()+;i++)
sum+=a[i]+'';
else
for(int i=;i<s.length();i++)
sum+=a[i+]+'';
return sum;
} int main()
{
string s;
while(cin>>s)
{
cout<<s;
while(!ishuiwen(s))
{
s=Add(s);
cout<<"--->"<<s;
}
cout<<endl;
}
return ;
}
合工大OJ 1331 回文数的更多相关文章
- 每日一道 LeetCode (3):回文数
前文合集 每日一道 LeetCode 文章合集 题目:回文数 题目来源:https://leetcode-cn.com/problems/palindrome-number/ 判断一个整数是否是回文数 ...
- [Swust OJ 797]--Palindromic Squares(回文数水题)
题目链接:http://acm.swust.edu.cn/problem/797/ Time limit(ms): 1000 Memory limit(kb): 10000 Description ...
- LeetCode OJ Palindrome Number(回文数)
class Solution { public: bool isPalindrome(int x) { ,init=x; ) return true; ) return false; ){ r=r*+ ...
- POJ2402 Palindrome Numbers 回文数
题目链接: http://poj.org/problem?id=2402 题目大意就是让你找到第n个回文数是什么. 第一个思路当然是一个一个地构造回文数直到找到第n个回文数为止(也许大部分人一开始都是 ...
- [LeetCode] Prime Palindrome 质数回文数
Find the smallest prime palindrome greater than or equal to N. Recall that a number is prime if it's ...
- 寻找并输出11~999之间的回文数m
寻找并输出11~999之间的数m,它满足m.m2和m3均为回文数. 回文:各位数字左右对称的整数. 例如:11满足上述条件 112=121,113=1331 判断一个数是否是回文数的方法:求该数的反序 ...
- [LeetCode] 906. Super Palindromes 超级回文数
Let's say a positive integer is a superpalindrome if it is a palindrome, and it is also the square o ...
- Leetcode(9)-回文数
判断一个整数是否是回文数.回文数是指正序(从左向右)和倒序(从右向左)读都是一样的整数. 示例 1: 输入: 121 输出: true 示例 2: 输入: -121 输出: false 解释: 从左向 ...
- hdu1282回文数猜想
Problem Description 一个正整数,如果从左向右读(称之为正序数)和从右向左读(称之为倒序数)是一样的,这样的数就叫回文数.任取一个正整数,如果不是回文数,将该数与他的倒序数相加,若其 ...
随机推荐
- iOS App上线的秘密
App上线需要准备几个证书:首先是是CSR证书,要创建这个证书需要在自己电脑上找到钥匙串访问(在应用程序->其他 里面).钥匙串访问->证书助理->从证书颁发机构请求证书如下: 创建 ...
- PHP写日志函数
初学,写一个函数用于存储日志调试. function WriteLog($msg) { $filename = dirname(__FILE__) ."\\Debug.log"; ...
- jQuery源码分析-01总体架构
1. 总体架构 1.1自调用匿名函数 self-invoking anonymous function 打开jQuery源码,首先你会看到这样的代码结构: (function( window, und ...
- SharePoint 2010 文档管理系列之准备篇
前言:很早自己就想写一个系列的文章,但是不知道写什么,最近在QQ群里,好多人说在做文档管理,其实文档管理也是SharePoint的一个很不错的功能点,自己想了想,也想多学习点东西,所以写这个主题吧,今 ...
- C标准库<signal.h>实现
本文地址:http://www.cnblogs.com/archimedes/p/c-library-signal.html,转载请注明源地址. 背景知识 signal.h是C标准函数库中的信号处理部 ...
- iOS设计模式之代理模式
代理模式 基本理解 代理模式(Proxy),为其他对象提供一种代理以控制对这个对象的访问. 代理模式的应用 远程代理:就是为一个对象在不同的地址空间提供据不代表.这样可以隐藏一个对象存在于不同地址空间 ...
- SSH整合简述一
1.web.xml中配置 struts2过滤器 <filter> <filter-name>struts2</filter-name> <filter-cla ...
- iOS 利用长按手势移动 Table View Cells
本文译自:Cookbook: Moving Table View Cells with a Long Press Gesture 目录: 你需要什么? 如何做? 如何将其利用至UICollection ...
- 在iOS 8中使用UIAlertController
iOS 8的新特性之一就是让接口更有适应性.更灵活,因此许多视图控制器的实现方式发生了巨大的变化.全新的UIPresentationController在实现视图控制器间的过渡动画效果和自适应设备尺寸 ...
- git常用命令,git版本控制和Xcode结合使用,用Xcode提交到github,github客户端使用
1.git常用命令 查看命令: 1.git --help 查看git所有命令 2.git clone -help 查看git clone命令的细节 3.git config -l 查看当前所有配置 ...