欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

【比赛回顾】广工2020程序设计初赛D-好人easy

程序员文章站 2024-03-20 08:37:16
...

D-好人easy

题目:

【比赛回顾】广工2020程序设计初赛D-好人easy


问题分析:

因为数字比较小,所以直接暴力遍历就能出来,关于判断回文,我采用的是放入数组中,然后对称判断是否符合回文性质,下面我详细注释说明了一下


AC代码:

#include <bits/stdc++.h>
using namespace std;

int a[7];

int main()
{
	int n;
	cin >> n;
	int i,j;
	for ( i=1; i<=n; i++ )
	{
	//小于等于9直接输出
		if ( i<=9 )
			cout << i << endl;
		else
		{
			int temp = i;
			int num=0;
			//计算这是几位数
			while ( temp>0 )
			{
				num++;
				temp /= 10;
			}
			temp = i;
			//从这个数字末位取余依次放入数组中
			//即将这个数字每一位依次拷贝进入数组
			for ( j=num; j>=1; --j )
			{
				a[j] = temp%10;
				temp/=10;
			}
			temp = i;
			int mark=0;
			//只用检验一半就好
			for ( j=1; j<=num/2; ++j )
			{
				if ( a[j] != a[num-j+1] )
				{
					mark = 1;
					//如果不相等直接跳出循环
					//mark=1即不符合条件
					break;
				}					
			}
			if ( mark==0 )
				cout << temp << endl;
		}
	}
	return 0;
}

【比赛回顾】广工2020程序设计初赛D-好人easy

相关标签: 比赛回顾