abc398 A

首先,先纪念一下我的第一篇文章!!!

ok,先看题:

        文章大意是给定一个n,输出长度为n回文串(回文是指一个诗句、短语、单词、数字或其他字符序列,其从前往后和从后往前是完全相同的,举个例子,如:  12321,1451441541等)且字符串中只包含“-"或”=“,而又要求它恰好包含一个或两个"="。若包含两个"=",则这两个"="必须是相邻的。

  那么说明”=“是在中间的,而n分为了两种情况,一种为偶一种为奇;

        1451441541,n为偶数时中间重复,也就是中间包含两个”=“,因为中间为”-“,则两个”=“不相邻,因此写出代码

if(n%2==0){
    for(int i=(n-1)/2;i>=1;i--){
	    cout<<"-";
    }
    cout<<"==";
    for(int i=(n-1)/2;i>=1;i--){
	    cout<<"-";
    }
}

        同理12321,n为奇数时,中间只有一个”=“,因为中间为”-“,则此不为回文串,因此写出代码

if(n%2==1){
    for(int i=(n-1)/2;i>=1;i--){
        cout<<"-";
    }
    cout<<"=";
    for(int i=(n-1)/2;i>=1;i--){
        cout<<"-";
    }
}

ok,合并之后可以变为AC代码

#include
using namespace std;
long long n;
int main(){
	cin>>n;
	for(int i=(n-1)/2;i>=1;i--)
	cout<<"-";
	if(n%2==0){
		cout<<"==";
	}else{
		cout<<"=";
	}
	for(int i=(n-1)/2;i>=1;i--)
	cout<<"-";
	return 0;
}

欧克,此篇结;

你可能感兴趣的:(c++)