CCF真题之节日
201503-3
#include <iostream>
using namespace std;
bool lear(int year) {
if((year%4==0&&year%100!=0)||(year%400==0))
return true; else return false; }
int countDay(int year,int month,int day) {
int i,s,num=0;
int b[12]={31,28,31,30,31,30,31,31,30,31,30,31};//每个月的天数
if(lear(year)) b[1]=29; //若为闰年,则修改第2个月份的天数
//统计1到year-1年之间有多少个闰年
for(i=1;i<year;i++) {
if(lear(i)) num++; }
s=(year-1)*365+num;
//year-1年底距离0年的总天数
for(i=0;i<month-1;i++)
s=s+b[i]; //第year年前month-1个月的天数
s=s+day;//再加上month这个月的天数
return s; }
int main() {
int i,m,n,d,y1,y2,cday,cweek,dd;
//int a[12]={31,28,31,30,31,30,31,31,30,31,30,31};//每个月的天数 cin>>m>>n>>d>>y1>>y2;
for(i=y1;i<=y2;i++) {
//一直90分,原因,数组初始化在for循环外面 ,故若为闰年,a[1]的值会不断增1
int a[12]={31,28,31,30,31,30,31,31,30,31,30,31};//每个月的天数
if(lear(i)) a[1]=29;
//i年m月1日距离1850年1月1日多少天
cday=countDay(i,m,1)-countDay(1850,1,1);
cweek=cday%7+2;
// i年m月1日为周几
if(d>=cweek)
dd=1+(d-cweek)+(n-1)*7; //首先计算i年m月的第一个星期几为几号,再计算第几个星期几为几号
else dd=1+(7-cweek)+d+(n-1)*7;
if(dd>a[m-1]) cout<<"none"<<endl;
else {
cout<<i<<"/";
if(m<10) cout<<"0"<<m<<"/";
else cout<<m<<"/";
if(dd<10) cout<<"0"<<dd<<endl;
else cout<<dd<<endl;
}
}
}
CCF真题之节日的更多相关文章
- CCF真题之最优灌溉
201412-4 问题描述 雷雷承包了很多片麦田,为了灌溉这些麦田,雷雷在第一个麦田挖了一口很深的水井,所有的麦田都从这口井来引水灌溉. 为了灌溉,雷雷需要建立一些水渠,以连接水井和麦田,雷雷也可以利 ...
- CCF真题Z型输出
#include<stdio.h> #include<iostream> #include<string.h> #include<algorithm> ...
- CCF真题之命令行选项
201403-3 问题描述 请你写一个命令行分析程序,用以分析给定的命令行里包含哪些选项.每个命令行由若干个字符串组成,它们之间恰好由一个空格分隔.这些字符串中的第一个为该命令行工具的名字,由小写字母 ...
- CCF真题之最大矩形
201312-3 问题描述 在横轴上放了n个相邻的矩形,每个矩形的宽度是1,而第i(1 ≤ i ≤ n)个矩形的高度是hi.这n个矩形构成了一个直方图.例如,下图中六个矩形的高度就分别是3, 1, 6 ...
- CCF真题之字符串匹配
201409-3 问题描述 给出一个字符串和多行文字,在这些文字中找到字符串出现的那些行.你的程序还需支持大小写敏感选项:当选项打开时,表示同一个字母的大写和小写看作不同的字符:当选项关闭时,表示同一 ...
- CCF真题之网络延时
201503-4 问题描述 给定一个公司的网络,由n台交换机和m台终端电脑组成,交换机与交换机.交换机与电脑之间使用网络连接.交换机按层级设置,编号为1的交换机为根交换机,层级为1.其他的交换机都连接 ...
- CCF真题之Z字形扫描
201412-2 问题描述 在图像编码的算法中,需要将一个给定的方形矩阵进行Z字形扫描(Zigzag Scan).给定一个n×n的矩阵,Z字形扫描的过程如下图所示: 对于下面的4×4的矩阵, 1 5 ...
- CCF真题之门禁系统
201412-1 问题描述 涛涛最近要负责图书馆的管理工作,需要记录下每天读者的到访情况.每位读者有一个编号,每条记录用读者的编号来表示.给出读者的来访记录,请问每一条记录中的读者是第几次出现. 输入 ...
- CCF真题之画图
201409-2 问题描述 在一个定义了直角坐标系的纸上,画一个(x1,y1)到(x2,y2)的矩形指将横坐标范围从x1到x2,纵坐标范围从y1到y2之间的区域涂上颜色. 下图给出了一个画了两个矩形的 ...
随机推荐
- 蓝牙BLE LINK LAYER剖析(二) -- PDU
DATA FORMAT The Link Layer has only one packet format used for both advertising channel packets and ...
- 为mutable类型的容器(array,set等)添加kvo,有点麻烦,供参考和了解下吧
http://blog.csdn.net/caryaliu/article/details/49284185 需要在被观察的属性所在的类里面实现一些方法,对开发者不友好,一般不建议使用,这里mark一 ...
- 【转】Servlet与web.xml的配置
Web.xml常用元素<web-app><display-name></display-name>定义了WEB应用的名字<description>< ...
- Linq&Lumbda
var y = from model in list.Where(s=>s.product==product||product=="") ...
- 怎么清除file控件的文件路径
还记得上次做一个文件上传,后来测试告诉我说,如果我要是不选择文件了呢?该怎么办?我说:简单啊,做一个取消按钮不就完事了吗!然后我就想一个file空间做一个取消是多么简单的事,用js处理可是想怎么样就怎 ...
- 根据IP查主机名和MAC地址
根据IP查主机名: nbtstat -a XXX.XXX.XXX.XXX根据IP查MAC地址: arp -a XXX.XXX.XXX.XXXXXX.XXX.XXX.XXX指代要查的主机的IP
- SQL Server 2008 R2,显示SQL语句执行窗口。 编辑前200行,可以执行SQL语句
- ASIHTTPRequest实现https双向认证请求
什么是双向认证呢?简而言之,就是服务器端对请求它的客户端要进行身份验证,客户端对自己所请求的服务器也会做身份验证.服务端一旦验证到请求自己的客户端为不可信任的,服务端就拒绝继续通信.客户端如果发现服务 ...
- Ubuntu 安装 Brother MFC7470D 驱动
Ubuntu 安装 Brother MFC7470D 驱动 办公室的打印机是 Brother MFC7470D ,在 Ubuntu 中安装打印机驱动时,发现没有这个型号的驱动.只有 MFC7450 的 ...
- winston日志管理2
上次讲到 Exceptions 例外 Handling Uncaught Exceptions with winston 使用winston处理未捕获的异常(这个如果对于异步,我不是很喜欢用) 使用 ...