题目大意:判断一个很大的二进制能否被131071整除。在二进制转十进制的过程中不断取模,最后判断结果是否是0就可以了。
#include <cstdio>
#include <cstring> int main()
{
#ifdef LOCAL
freopen("in", "r", stdin);
#endif
char str[];
while (gets(str))
{
int t = ;
bool stop = false;
do
{
int len = strlen(str);
for (int i = ; i < len; i++)
{
if (str[i] == '#')
{
stop = true;
break;
}
if (str[i] == '' || str[i] == '')
{
t = t * + str[i] - '';
if (t >= ) t %= ;
}
}
} while (!stop && gets(str));
if (t == ) printf("YES\n");
else printf("NO\n");
}
return ;
}
话说这个输入还是小小纠结了一下。