我把dfs()函数的形参 len 与 n 的类型设为int时 ,样例2,7,8,9 都是T,然后10是WA。而将len与n的类型设置为long long 就AC了。我想知道为什么不同类型会导致这种情况,所以请大佬帮忙解答一下QAQ 解答必关注大佬,成为大佬的狂热粉丝
#include<bits/stdc++.h>
using namespace std;
using ll = unsigned long long ;
ll qwq;
string x;
char dfs( int len , int n)
{
if(len == qwq || n<qwq)
return x[n];
if(n==len/2)
return dfs(len/2 , len/2-1);
if(n<len/2)
return dfs(len/2 , n);
if(n<len)
return dfs(len/2 , n-1-len/2);
}
int main()
{
ll n;
cin>>x>>n;
n--;
qwq = x.size();
ll len = qwq;
ll i = 0 ;
while(len<n)
{
len*=2;
i++;
}
cout<<dfs(len , n);
return 0;
}