高斯的日记

简介: 高斯的日记

大数学家高斯有个好习惯:无论如何都要记日记。

他的日记有个与众不同的地方,他从不注明年月日,而是用一个整数代替,比如:4210

后来人们知道,那个整数就是日期,它表示那一天是高斯出生后的第几天。这或许也是个好习惯,它时时刻刻提醒着主人:日子又过去一天,还有多少时光可以用于浪费呢?

高斯出生于:1777年4月30日。

在高斯发现的一个重要定理的日记上标注着:5343,因此可算出那天是:1791年12月15日。

高斯获得博士学位的那天日记上标着:8113

请你算出高斯获得博士学位的年月日。

提交答案的格式是:yyyy-mm-dd, 例如:1980-03-21

错误解法:

package 蓝桥;
import java.util.Calendar;
public class 高斯的日记 {
  public static void main(String[] args) {
    // TODO Auto-generated method stub
    Calendar calendar=Calendar.getInstance();
    calendar.set(1777, 3, 29);
    for (int i = 0; i < 8113; i++) {
      calendar.add(calendar.DATE, 1);
    }
    System.out.println(calendar.get(calendar.YEAR)+"-"+calendar.get(calendar.MONTH)+"-"+calendar.get(calendar.DATE));
    //System.out.println(calendar);
  }
}

通过date API的方式来做是错误的因为date api是从1970年开始的

分割线

最近偶然发现 java8 有了新的日期api localdate 使这题变的特别简单

import java.time.LocalDate;
public class 高斯的日记 {
  public static void main(String[] args) {
    LocalDate date=LocalDate.of(1791,12,15);
    for (int i = 5343; i < 8113; i++) {
      date=date.plusDays(1);
    }
    System.out.println(date);
  }
}

答案:1799-07-16

//分割线

不用日期API的解法:

package 蓝桥;
import java.util.Calendar;
public class 高斯的日记 {
  static int year=1777,month=4,data=30;
  public static void main(String[] args) {
    // TODO Auto-generated method stub
    for (int i = 1; i < 8113; i++) {//因为高斯把出生标为第一天
      dateadd();
    }
    System.out.println(year+"-"+month+"-"+data);
  }
  public static void dateadd() {
    ++data;
    if ((year%4==0&&year%100!=0)||year%400==0) {
      if (month==1||month==3||month==5||month==7||month==8||month==10||month==12) {
        if (data==32) {
          month++;data=1;
          if (month==13) {
            year++;
            month=1;
          }
        }
      }
      else if (month==2) {
        if (data==30) {
          month++;data=1;
        }
      }
      else {
        if (data==31) {
          month++;data=1;
        }
      }
    }
    else  {
      if (month==1||month==3||month==5||month==7||month==8||month==10||month==12) {
        if (data==32) {
          month++;data=1;
          if (month==13) {
            year++;
            month=1;
          }
        }
      }
      else if (month==2) {
        if (data==29) {
          month++;data=1;
        }
      }
      else {
        if (data==31) {
          month++;data=1;
        }
      }
    }
  }
}

   


相关文章
|
编解码 缓存 安全
用指纹浏览器为什么要搭配代理IP
指纹浏览器结合代理IP能有效提升网络隐私与安全。指纹浏览器通过生成独特用户标识防止追踪,但高级追踪技术仍可能暴露信息。代理IP可隐藏真实IP,增加匿名性,规避网络限制,并在指纹检测中混淆身份,增强安全。代理IP还能加速网络访问并提高稳定性。然而,选择可靠代理IP服务并遵守法规至关重要。
|
应用服务中间件 Linux nginx
CentOS下Nginx环境的搭建及进阶配置(安装篇)
Nginx是一款轻量级的Web服务器、反向代理服务器,由于它的内存占用少,启动极快,高并发能力强,在互联网项目中广泛应用。 本文主要讲解如何在CentOS搭建及配置Nginx
623 0
CentOS下Nginx环境的搭建及进阶配置(安装篇)
|
JavaScript
【ElementUI】Vue+ElementUI多文件上传,一次请求上传多个文件!
教大家一次请求,上传多个文件。 ElementUI如果是默认方案,上传多张图片并不是真正的一次上传多张,而是发送多次请求,一次请求携带一张图片。
1416 0
|
11月前
|
人工智能 数据可视化 数据挖掘
【产品】G 端产品经理
G端产品经理在政府数字化转型中扮演着关键角色,连接政府需求与技术实现。他们负责挖掘需求、规划方案、推动跨部门协作,并监督项目进展。具体职责包括需求调研、产品规划与设计、原型制作、文档撰写及交互与视觉设计等。面对复杂多变的需求、快速更新的技术和严格的项目验收,G端产品经理需不断提升专业技能,以适应挑战并推动政府治理体系现代化。
|
SQL 数据可视化 数据挖掘
让项目数据更有说服力:五款必备数据可视化管理工具推荐
在现代企业管理中,数据是决策的重要依据。有效的数据可视化工具能帮助项目经理快速洞察项目进展、评估风险、优化资源配置。本文推荐五款必备的数据可视化管理工具,包括板栗看板、Power BI、Tableau、Google Data Studio和Qlik Sense,从功能、易用性和优缺点等方面进行全面评析,帮助您将数据转化为行动,推动项目高效前行。
475 4
|
Kubernetes 监控 API
Rancher 系列文章 -Rancher v2.6 使用脚本实现导入集群
Rancher 系列文章 -Rancher v2.6 使用脚本实现导入集群
|
机器学习/深度学习 人工智能 DataWorks
云上AI服务,中国最佳
云上AI服务,中国最佳
333 10
|
SQL 分布式计算 Hadoop
Hive部署
Hive部署
291 0
|
人工智能 自然语言处理 自动驾驶
AI大模型的战场:通用与垂直的较量
AI大模型的战场:通用与垂直的较量
848 0
|
算法 数据可视化 网络安全
清华等高校推出首个开源大模型水印工具包MarkLLM,支持近10种最新水印算法
【6月更文挑战第27天】清华大学等高校发布了开源工具MarkLLM,这是首个专注于大语言模型水印的工具包,支持近10种先进算法。该工具统一了水印实现,便于比较和使用,旨在促进水印技术在保障信息真实性和网络安全上的应用。MarkLLM提供直观界面、可视化及自动化评估,推动了大模型水印研究的进步。[论文链接:](https://arxiv.org/abs/2405.10051)**
522 5