题目标题: 高斯日记
来源:互联网 发布:android开发计算器源码 编辑:程序博客网 时间:2024/06/06 08:49
题目标题: 高斯日记
大数学家高斯有个好习惯:无论如何都要记日记。
他的日记有个与众不同的地方,他从不注明年月日,而是用一个整数代替,比如:4210
后来人们知道,那个整数就是日期,它表示那一天是高斯出生后的第几天。这或许也是个好习惯,它时时刻刻提醒着主人:日子又过去一天,还有多少时光可以用于浪费呢?
高斯出生于:1777年4月30日。
在高斯发现的一个重要定理的日记上标注着:5343,因此可算出那天是:1791年12月15日。
高斯获得博士学位的那天日记上标着:8113
请你算出高斯获得博士学位的年月日。
提交答案的格式是:yyyy-mm-dd, 例如:1980-03-21
请严格按照格式,通过浏览器提交答案。
注意:只提交这个日期,不要写其它附加内容,比如:说明性的文字。
参考答案:1799-07-16
#include <iostream>
using namespace std;
/* run this program using the console pauser or add your own getch, system("pause") or input loop */
/*
判断闰年
*/
bool isRunYear(int year){
if(year%4 == 0 && year%100 !=0 || year%400 ==0)
return true;
else
return false;
}
//判断一个月是否是30天
bool isdata30(int month){
if(month == 4 ||month == 6 ||month == 9|| month == 11)
return true;
else
return false;
}
//判断一个月是否是31天
bool isdata31(int month){
if(month == 1 ||month == 3 ||month == 5|| month == 7||month == 8||month == 10 ||month == 12)
return true;
else
return false;
}
int main(int argc, char** argv) {
int n;
cin>>n;
int year = 1777;
int month = 4;
int data = 30;
data-=1;
for(int i = 0;i < n;i++){
data +=1;
if(data == 29 && month == 2 && isRunYear(year) == false){
data = 1;
month += 1;
}
if(data == 30 && month == 2 && isRunYear(year) == true){
data = 1;
month += 1;
}
if(data == 31 && isdata30(month) == true){
data = 1;
month +=1;
}
if(data == 32 && isdata31(month) == true){
data = 1;
month +=1;
}
if(month == 13){
month = 1;
year+=1;
}
}
if(month < 10){
cout<<year<<"-"<<"0"<<month<<"-"<<data;
}
else
cout<<year<<"-"<<month<<"-"<<data;
return 0;
}
using namespace std;
/* run this program using the console pauser or add your own getch, system("pause") or input loop */
/*
判断闰年
*/
bool isRunYear(int year){
if(year%4 == 0 && year%100 !=0 || year%400 ==0)
return true;
else
return false;
}
//判断一个月是否是30天
bool isdata30(int month){
if(month == 4 ||month == 6 ||month == 9|| month == 11)
return true;
else
return false;
}
//判断一个月是否是31天
bool isdata31(int month){
if(month == 1 ||month == 3 ||month == 5|| month == 7||month == 8||month == 10 ||month == 12)
return true;
else
return false;
}
int main(int argc, char** argv) {
int n;
cin>>n;
int year = 1777;
int month = 4;
int data = 30;
data-=1;
for(int i = 0;i < n;i++){
data +=1;
if(data == 29 && month == 2 && isRunYear(year) == false){
data = 1;
month += 1;
}
if(data == 30 && month == 2 && isRunYear(year) == true){
data = 1;
month += 1;
}
if(data == 31 && isdata30(month) == true){
data = 1;
month +=1;
}
if(data == 32 && isdata31(month) == true){
data = 1;
month +=1;
}
if(month == 13){
month = 1;
year+=1;
}
}
if(month < 10){
cout<<year<<"-"<<"0"<<month<<"-"<<data;
}
else
cout<<year<<"-"<<month<<"-"<<data;
return 0;
}
1 0
- 题目标题: 高斯日记
- 山东省第四届蓝桥杯 ///题目标题: 高斯日记//c/c++组
- 蓝桥杯 【初赛题目】 高斯日记
- 高斯日记
- 蓝桥杯 高斯日记
- 高斯日记 - 蓝桥杯
- 高斯日记
- 高斯日记
- 高斯日记
- 高斯日记
- 高斯日记
- 高斯日记
- 高斯日记
- 高斯日记 - 蓝桥杯
- 高斯日记
- 高斯日记
- 高斯日记
- 高斯日记
- 洛谷 开学赛
- 详解Android中AsyncTask的使用
- 日期和时间?&字符串?
- 剑指offer相关题目,输入两个字符串,从第一个字符串中删除在第二个字符串中出现的所有字符
- HDFS一些参数的设置说明
- 题目标题: 高斯日记
- solr实体嵌套、字段加权查询
- linux 网络连接
- 使用ASIHTTPRequest和ASIDownloadCache实现本地缓存
- alter修改数据库表
- 网站架构
- [2016/02/27] PAT(Basic Level) Problem 1001-1050 JAVA略解
- window.open网页自适应不同分辨率方法
- UIKit继承图