问题标题: 酷町堂:2758 回文数判别找错

0
0
已解决
张天璨
张天璨
新手天翼
新手天翼
#include<iostream>
using namespace std;
long long a[25000000],cnt;
int zhuan(int n){
	int i,j=0;
    i=n;
    while(i)
    {
    	a[j]=i%2;
    	i/=2;
    	j++;
    	cnt++;
    }
    return cnt;
}
string hui(long long a[],long long cnt){
	if(a[1]==0) return "no";
	for(long long i=1;i<=cnt;i++){
		if(a[i]!=a[cnt-i+1]){
			return "no"; 
		} 
	}
	return "yes";
} 
int main(){
	int n;
	cin>>n;
	long long cnt=zhuan(n);
	cout<<hui(a,cnt);
	return 0;
}

WA

张天璨在2020-07-26 08:54:07追加了内容

@李翊冉

还输不对呀

张天璨在2020-07-26 09:33:08追加了内容

已AC

张天璨在2020-07-26 09:33:14追加了内容

已AC

张天璨在2020-07-26 09:33:20追加了内容

已AC


0
已采纳
李翊冉
李翊冉
高级守护
高级守护

hui函数中,a是从0开始存储的,所以说应该是if(a[0]==0) return "no";

李翊冉在2020-07-25 21:10:18追加了内容

并且for循环中,i应从0开始,并且循环中的if判断应改为

 

if(a[i]!=a[cnt-i]){

    return "no";

}

0
王俊杰
王俊杰
高级光能
高级光能

I don'n now.我还没学到,本菜鸡帮不上忙了

0
我要回答