说明
回文数的定义为:如果把一个数的各个数位上的数字颠倒过来得到的新数与原数相等,则此数是回文数,例:7,22,131,2112,31013,…都是回文数。 对任意给出的一个整数n,经过一系列的处理,最后都能成为回文数。处理的方法是,该数加上它的颠倒数,
例如:n=176
第一次处理后 176+671=847
第二次处理后 847+748=1595
第三次处理后 1595+5951=7546
第四次处理后 7546+6457=14003
第五次处理后 14003+30041=44044
此时成为回文数,共进行5次处理。
问题:给出n 后,求出使该数按照以上规则进行一系列处理后成为回文数的最少操作次数。
输入数据
n 一个整数(n 为int范围内数据,并保证计算过程产生的最大数据范围不会超出long long范围)
输出数据
使n成为回文数的最少处理次数。 若开始给出的n是回文数,则输出0(即不需任何处理)。
题解(复制完别走,下面还有)
# include <bits/stdc++.h>
using namespace std;
long long n,num=0;
long long fan(long long h)
{
long long i=0;
while (h!=0)
{
i=i*10+h%10;
h/=10;
}
return i;
}
void hw(long long x)
{
if (x==fan(x))
{
cout<<num;
return ;
}
else
{
num+=1;
hw(x+fan(x));
}
}
int main()
{
cin>>n;
hw(n);
return 0;
}
题外话
【c++基础】高精度乘法-优快云博客文章浏览阅读742次,点赞17次,收藏10次。【c++基础】高精度乘法输入两个高精度整数a和b(a,b位数https://blog.youkuaiyun.com/2301_79396857/article/details/136026655?spm=1001.2014.3001.5501【c++基础】高精度加法-优快云博客文章浏览阅读941次。【c++基础】高精度加法输入两个高精度正整数a和b(a,b的位数
https://blog.youkuaiyun.com/2301_79396857/article/details/135981240?spm=1001.2014.3001.5501【c++基础】高精度减法-优快云博客文章浏览阅读1.2k次,点赞28次,收藏9次。【c++基础】高精度减法输入两个高精度正整数a和b(a,b的位数
https://blog.youkuaiyun.com/2301_79396857/article/details/135989909?spm=1001.2014.3001.55012023NOC真题卷_noc模拟测试卷-优快云博客文章浏览阅读925次,点赞35次,收藏4次。2023NOC真题卷全卷_noc模拟测试卷
https://blog.youkuaiyun.com/2301_79396857/article/details/135909632?spm=1001.2014.3001.5501模拟帝国类游戏(c++语言)(保证能运行)-优快云博客文章浏览阅读386次,点赞11次,收藏6次。【代码】模拟帝国类游戏(c++语言)
https://blog.youkuaiyun.com/2301_79396857/article/details/134742492?spm=1001.2014.3001.5501