A water problem

A water problem

Time Limit: 5000/2500 MS (Java/Others)    Memory Limit: 65536/65536 K (Java/Others)
Total Submission(s): 0    Accepted Submission(s): 0


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(0N) , 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互质,所以最小公倍数就是10001,直接取余判断。N的长度非常大,用高精按位除即可。
字符串的输入遇到点问题,导致TLE了若干次,也算是收获了。

代码

#include <iostream>
#include <cstdio>
using namespace std;
#define N 10000005
int lena;
char ss[N];
int check(string s) 
{
	int x=0,y,c=10001;
	lena=s.size();
	if(lena==1&&s[0]=='0') return 0;//0显然是的 
	if(lena<5) return 1;			//10000以内除了0外,没有其他符合要求的数 
	for(int i=0;i<lena;i++) 		//如果超过五位,则逐位计算 
	{
	    y=s[i]-48;
		x=(x*10+y)%c;
	}
	return x;
}
int main()
{
	int t=1;
	while(scanf("%s",ss)!=EOF) 		
	{
		if(!check(ss))cout<<"Case #"<<t<<": YES"<<endl;
		else cout<<"Case #"<<t<<": NO"<<endl;
		t++;
	}
	return 0;
}


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值