A water problem
Time Limit: 5000/2500 MS (Java/Others) Memory Limit: 65536/65536 K (Java/Others)
Total Submission(s): 412 Accepted Submission(s): 218
Problem Description
Two planets named Haha and Xixi in the universe and they were created with the universe beginning.There is 73 days in Xixi a year and 137 days in Haha a year.
Now you know the days N after Big Bang, you need to answer whether it is the first day in a year about the two planets.
Input
There are several test cases(about 5 huge test cases).For each test, we have a line with an only integer N(0≤N), the length of N is up to 10000000.
Output
For the i-th test case, output Case #i: , then output “YES” or “NO” for the answer.
Sample Input
10001
0
333
Sample Output
Case #1: YES
Case #2: YES
Case #3: NO
题意:判断输入的数是否可以同时整除73与137,也就是能不能整除73与137的最小公倍数。
因为输入的数的长度是10000000以内,我们只能采用字符串来存储它,从ans初始化为0,最低位开始ans=(ans+s[i]-‘0’)%b; 计算到最后,如果ans 等于0,可以整除,否则,不可以整除。
AC代码:
#include<iostream>
#include<cstdio>
#include<cstdlib>
#include<cstring>
#include<algorithm>
using namespace std;
char s[11000000];
int ans,b=73*137;
int main()
{
for(int i=1; gets(s); i++)
{
ans=0;
int l=strlen(s);
for(int j=0; j<l; j++)
ans=(ans*10+(s[j]-'0'))%b;
if(!ans)printf("Case #%d: YES\n",i);
else printf("Case #%d: NO\n",i);
}
return 0;
}