对称数串的解题报告
题目意思
有n个数字,如果这串数字顺序第i个数字和逆序第i个数字总是相等的(i<=n/2),那么我们称这n个数字为循环数串
解题步骤
- 输入一堆数
- 带入循环
- 开始判断
- 输出是或否
代码
#include<iostream>//库文件
using namespace std;//命名空间
int a[100],b,j,k,i,sum,sign,n;//定义变量和数组
int main()//主函数
{
cin>>n;//输入变量n
sign=1;//变量sigh等于1
for(b=0;b<=n-1;b++)//初始变量是变量b等于0,运行条件是变量b小于等于变量n减1,每次运行完变量b都要加1
{
cin>>a[b];//输入数组a中的第b项
}
for(i=n-1;i>=n/2;i--)//初始变量是变量i等于变量n减1,运行条件是变量i小于等于变量n除以2,每次运行完变量i都要减1
{
if(a[i]!=a[n-1-i])//如果数组a中的第i项不等于数组a中的第n减1再减i项
{
sign=0;//那么变量sign等于0
}
}
if(sign==0)//如果变量sign等于0
{
cout<<"NO"<<endl;//输出NO
}
else//或者
{
cout<<"YES"<<endl;//输出YES
}
return 0;//安全结束
}