1千万长度的数对73和137取模。(两个数有点像,不要写错了)
效率要高的话,每15位取一次模,因为取模后可能有3位,因此用ll就最多15位取一次。
一位一位取模也可以,但是比较慢,取模运算是个耗时的运算。
#include <cstdio>
#define ll long long
ll n,m;
int p,cas;
char s[10000005];
int main() {
while(gets(s)){
n=m=p=0;
while(s[p]){
for(int i=0;i<15&&s[p];i++,p++){
n=n*10+s[p]-'0';
m=m*10+s[p]-'0';
}
n%=73;
m%=137;
}
printf("Case #%d: ",++cas);
if(n||m)puts("NO");
else puts("YES");
}
}