问题在于给定的数字N,其数字位数在1到10 ^ 5之间。如果提供2个数字s且f小于N且s <= f。需要检查由s到f的数字形成的数字是否可被7整除。
#include <iostream>
#include <string>
using namespace std;
int main()
{
string N; cin>>N;
long long T; cin>>T;
string sub="";
long long i,s,f,val;
while(T--){
cin>>s>>f;
s--; f--;
sub = "";
for(i=s;i<=f;i++)
sub+=N[i];
val = stoi(sub);
if(val%7==0)
cout<<"YES"<<endl;
else
cout<<"NO"<<endl;
}
return 0;
}
答案 0 :(得分:0)
“sigabrt,但我的代码都是正确的” - 显然不是。
调试的第一条规则:你编写的代码中存在错误,你的工作就是找到它。
根据输入,您的代码显然会崩溃。我会考虑调试代码而不是声称它必须是正确的。