【比賽回顧】廣工2020程式設計初賽D-好人easy

error13發表於2020-11-29

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;
}

在這裡插入圖片描述

相關文章