求助
这个程序在我的dev-c++上面能正常运行,但是在学校的oj上就是CE,是不是用了什么不规范的语法
代码如下:
#include<iostream>
#include<string.h>
using namespace std;
long long n,k,a[1000][2],b[1000][2],cnt[2],ch,ans,front,end;
void trans(long long m,long long kk)
{
ch=0;
if(kk!=10)
{
ch++;
}
else
{
memset(cnt,0,sizeof(cnt));
memset(a,0,sizeof(a));
memset(b,0,sizeof(b));
}
while(m)
{
a[cnt[ch]++][ch]=m%kk;
m/=kk;
}
for(long long i=0;i<cnt[ch];i++)
{
b[i][ch]=a[cnt[ch]-1-i][ch];
}
}
int cheak(int s)
{
trans(s,10);
trans(s,k);
for(ch=0;ch<=1;ch++)
{
front=0; cnt[ch]--;
end=cnt[ch];
while(front<end)
{
if(b[front][ch]!=b[end][ch])
{
return 0;
}
front++; end--;
}
}
return 1;
}
int main()
{
cin>>n>>k;
for(long long i=1;i<=n;i++)
{
if(cheak(i)==1)
{
ans+=i;
// cout<<i<<endl;
}
}
cout<<ans;
return 0;
}