码迷,mamicode.com
首页 > 其他好文 > 详细

2015华为机试—— Redraiment的遭遇

时间:2015-07-13 12:25:57      阅读:2006      评论:0      收藏:0      [点我收藏+]

标签:2015华为机试   java   算法   

题目描述:

Redraiment的老家住在工业区,日耗电量非常大。是政府的眼中钉肉中刺,但又没办法,这里头住的可都是纳税大户呀。 今年7月,又传来了不幸的消息,政府要在78月对该区进行拉闸限电。但迫于压力,限电制度规则不会太抠门,政府决定从71日停电,然后隔一天到73日再停电,再隔两天到76日停电,一次下去,每次都比上一次晚一天。 Redraiment可是软件专业的学生,怎么离得开计算机。如果停电,就英雄无用武之地了。呵呵。 所以他开始盘算起自己回家的日子了,他想知道自己到家后到底要经历多少天倒霉的停电。你能帮他算一算吗?

输入

redraiment到家的日期。

输出

redraiment回家后遭遇停电的天数(包括到家那天)

样例输入

0

接口说明:

函数原型:

int GetDayNum(int Month, int Day);

输入参数:

int Month:整数,Redraiment到家的月数。

 int Day:整数,Redraiment到家的日期

输出参数:

返回值:

int  (返回Redraiment到家后遭遇停电的天数)


解题思路:

先把两个月总共要停电的天数算出来,再把Redraiment回家时已过天数停电的天数算出来,再把总的减去已过的

就是剩下还需要停电的天数。


代码如下:

	public static int getDayNum(int month, int day)
	{
		int n=1,s1=1;
		int m,s2;
		//7,8两月总共需要停电的天数 n
		while (s1<=62)
		{
			s1+=n;
			n++;
		}	
		//mouth,day回来时已经停电的天数 m
		m=1;
		s2=1;
		while (s2<=(month-7)*31+day)
		{
			s2+=m;
			m++;
		}
		//剩下的天数
		return n-m;
		
	}

版权声明:本文为博主原创文章,未经博主允许不得转载。

2015华为机试—— Redraiment的遭遇

标签:2015华为机试   java   算法   

原文地址:http://blog.csdn.net/zzc8265020/article/details/46858747

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!