#20047: 請問哪裡寫錯了?


wilson06001 (萌哥)

學校 : 臺北市立成功高級中學
編號 : 100473
來源 : [140.122.136.179]
最後登入時間 :
2023-05-06 10:13:05
a022. 迴文 | From: [203.64.138.253] | 發表日期 : 2019-11-20 14:27

#include<iostream>
#include<string>
using namespace std;
int main(){
string in;
int size;
while(cin>>in){
size=0;
size=in.size();
if(size%2!=0){
cout<<"no"<<endl;
}
else{
int time=size/2;
int x=0;
for(int i=0;i<time;i++){
int y;
int z;
z=size-i;
y=z-1;
if(in[i]==in[y]){
x+=1;
}
}
if (x==time){
cout<<"yes"<<endl;
}
else{
cout<<"no"<<endl;
}
}
}
}

 
#20072: Re:請問哪裡寫錯了?


reina42689 (職業岩龍騎手)

學校 : 國立澎湖科技大學
編號 : 77774
來源 : [1.175.55.76]
最後登入時間 :
2022-04-05 18:21:28
a022. 迴文 | From: [114.33.252.233] | 發表日期 : 2019-11-23 23:35

回文的定義:

迴文的定義為正向,反向讀到的字串均相同

所以 aba -> 是回文,所以判斷式 if ( size%2 != 0 ) 會導致錯誤

 

 
 
ZeroJudge Forum