#蓝桥杯练习#回文数字

[蓝桥杯][历届试题]回文数字

在这里插入图片描述

每次%10,取得最后一个数,定义一个求值的sum,每次sum*10加上取余的最后一位
最后的sum就是i逆序的结果,注意:每次i应该/10,但是不能改变i值,所以每次循环开始的时候要先定义一个temp。用作计算sum。

#include<iostream>

using namespace std;

int main()
{
	int n;
	cin>>n;
	int flag = 1;
	for(int i = 10000; i < 999999; i++)
	{
		int num = 0;
		int sum = 0;
		int temp = i;
		while(temp > 0)
		{
			sum = sum + temp % 10;
			num = num * 10 + temp % 10;
			temp /= 10;
		}
		if(sum == n && num == i)
		{
			flag = 0;
			cout<<i<<endl;
		}
	}
	if(flag)
		cout<<"-1";
    return 0;
}

发布了145 篇原创文章 · 获赞 8 · 访问量 1万+

猜你喜欢

转载自blog.csdn.net/weixin_43476037/article/details/104064578