博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
回文数猜想(hd1282)
阅读量:4657 次
发布时间:2019-06-09

本文共 1314 字,大约阅读时间需要 4 分钟。

回文数猜想

Problem Description
一个正整数,如果从左向右读(称之为正序数)和从右向左读(称之为倒序数)是一样的,这样的数就叫回文数。任取一个正整数,如果不是回文数,将该数与他的倒序数相加,若其和不是回文数,则重复上述步骤,一直到获得回文数为止。例如:68变成154(68+86),再变成605(154+451),最后变成1111(605+506),而1111是回文数。于是有数学家提出一个猜想:不论开始是什么正整数,在经过有限次正序数和倒序数相加的步骤后,都会得到一个回文数。至今为止还不知道这个猜想是对还是错。现在请你编程序验证之。
 
Input
每行一个正整数。
特别说明:输入的数据保证中间结果小于2^31。
 
Output
对应每个输入,输出两行,一行是变换的次数,一行是变换的过程。
 
Sample Input
27228
37649
 
Sample Output
3
27228--->109500--->115401--->219912
2
37649--->132322--->355553
1 #include 
2 #include
3 #include
4 using namespace std; 5 int b[20]; 6 int count=0; 7 int judge(int num) 8 { 9 int i=0,t=0;10 count=0;11 memset(b,0,sizeof(b));12 while(num!=0)13 {14 b[count++]=num%10;15 num/=10;16 }17 for(i=0,t=count-1;!(i==t+1||i==t);i++,t--)18 {19 if(b[i]!=b[t])20 return 0;//不是回文数21 }22 return 1;//是回文数23 }24 int get()25 {26 int kk=0;27 int i=0;28 for(i=0;i
>num)37 {38 int i=0;39 memset(a,0,sizeof(a));40 while(!judge(num))41 {42 a[i++]=num;43 num=get()+num;44 }45 cout<
<
";52 cout<
<

 

转载于:https://www.cnblogs.com/a1225234/p/4584525.html

你可能感兴趣的文章
[HNOI2015]实验比较
查看>>
搭建自动化构建
查看>>
完成评论功能
查看>>
ProjectEuler 13
查看>>
[转]基于SAML的单点登录介绍
查看>>
signer information does not match signer information of other classes in the same package
查看>>
安装mysql Install/Remove of the Service Denied!错误的解决办法
查看>>
Docker三大核心概念之镜像
查看>>
笔记:Java Socket
查看>>
poj1275 Cashier Employment
查看>>
css box-sizing以及calc()
查看>>
oracle 批量插入和批量更新
查看>>
2017-2018-2 1723《程序设计与数据结构》第二周作业 总结
查看>>
delete
查看>>
Android 手机卫士--md5加密过程
查看>>
PGM图片格式与代码
查看>>
jsp内置对象-session
查看>>
SLP读书笔记之 n-gram 语言模型
查看>>
前端工程师的基本素养
查看>>
94. Binary Tree Inorder Traversal 二叉树中序遍历
查看>>