OJ-1003 Redraiment的遭遇
2017-02-04 17:39
351 查看
Description
Redraiment的老家住在工业区,日耗电量非常大。是政府的眼中钉肉中刺,但又没办法,这里头住的可都是纳税大户呀。 今年7月,又传来了不幸的消息,政府要在7、8月对该区进行拉闸限电。但迫于压力,限电制度规则不会太抠门,政府决定从7月1日停电,然后隔一天到7月3日再停电,再隔两天到7月6日停电,一次下去,每次都比上一次晚一天。 Redraiment可是软件专业的学生,怎么离得开计算机。如果停电,就“英雄无用武之地”了。呵呵。 所以他开始盘算起自己回家的日子了,他想知道自己到家后到底要经历多少天倒霉的停电。你能帮他算一算吗?Input
输入包括多组数据。 每组数据包括一行:redraiment到家的日期。 输入以0/0结束。Output
对应每个输入包括一个输出。为redraiment回家后停电的天数(包括到家那天)。
#include <stdio.h> #include <stdlib.h> int main() { int day[20],a,b,n,i,num; day[0]=0; for(i=1;day[i-1]<62;++i) { day[i]=day[i-1]+i+1; } num=i-2;//最后一个实际上已经不符合要求 while(1) { scanf("%d/%d",&a,&b); if(a==0&&b==0) break; n=(a-7)*31+b-1; for(i=0;n>day[i];++i); printf("%d\n",num-i+1); } return 0; }
参考一位学长的答案后改进:
#include <stdio.h> #include <stdlib.h> int main() { int day[20],a,b,n,i,num; day[0]=0; for(i=1;day[i-1]<62;++i) { day[i]=day[i-1]+i+1; } num=i-2;//最后一个实际上已经不符合要求 while(scanf("%d/%d",&a,&b),a+b) { n=(a-7)*31+b-1; for(i=0;n>day[i];++i); printf("%d\n",num-i+1); } return 0; }
while语句中运用逗号表达式可以达到输入为0退出的效果
相关文章推荐
- AOJ-AHU-OJ-3 Redraiment的遭遇
- Ytu 1003: Redraiment的遭遇
- 华为OJ——Redraiment的走法
- 九度oj-1003-Java
- 北大OJ1003
- 杭电oj 1003 java
- 做 fzu oj 1003 简单的枚举
- OJ_1003
- hdu-oj 1003 Max Sum
- 九度OJ题目1003:A+B
- Max Sum(杭电OJ1003)解题报告
- 杭电oj1003java实现
- 九度OJ-1003:A+B
- 【华为OJ】【054-Redraiment的走法】
- 杭电OJ 1003 Max Sum
- OJ1003-Hangover
- 九度OJ-题目1003 A+B
- 北大OJ:1003
- 九度oj 题目1003:A+B 【ZJU2010考研机试题1】
- 杭电oj 1003