第三题这样子正确吗
#include<iostream>
#include<vector>
#include<algorithm>
using namespace std;
int ispalindrome(vector<int> &a);
int main()
{
int n;
cin>>n;
int i=0;
int sum=0;
for(i=0;i<=n;i++)
{
vector<int> vv;
int t=i;
int s=0;
if(i==0)
sum=sum+1;
else
{
while(t)
{
s=t%2;
vv.push_back(s);
t=t/2;
}
sum=sum+ispalindrome(vv);
}
}
cout<<sum<<endl;
return 0;
}
int ispalindrome(vector<int> &a)
{
int i=0,j=a.size()-1;
for(i=0,j=a.size()-1;i<j;i++,j--)
{
if(a[i]!=a[j])
return 0;
}
return 1;
}