| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1311 人关注过本帖
标题:小菜请大家帮忙解释一下"高斯日记"
取消只看楼主 加入收藏
驱动器
Rank: 2
来 自:广西
等 级:论坛游民
帖 子:15
专家分:19
注 册:2013-8-20
结帖率:100%
收藏
已结贴  问题点数:8 回复次数:0 
小菜请大家帮忙解释一下"高斯日记"
大数学家高斯有个好习惯:无论如何都要记日记。
他的日记有个与众不同的地方,他从不注明年月日,而是用一个整数代替,比如:4210
后来人们知道,那个整数就是日期,它表示那一天是高斯出生后的第几天。
这或许也是个好习惯,它时时刻刻提醒着主人:日子又过去一天,
还有多少时光可以用于浪费呢? 高斯出生于:1777年4月30日。
在高斯发现的一个重要定理的日记上标注着:5343,
因此可算出那天是:1791年12月15日。
高斯在某一天日记上标着:8113   
请你算出这一天的年月日。


代码如下:

#include<stdio.h>
int runnian(int y)
{
    if(((y % 4 == 0) && (y % 100 != 0)) || (y % 400 == 0))
        return 1;
    else
        return 0;
}

void main()
{
    int year = 1791, month = 12, day = 15, t = 0, i, n;
    int    y = year;
    int    m = month;
    int d = day;
    int arr[] = {31,28,31,30,31,30,31,31,30,31,30,31};
    n = 8113 - 5343 == 2770;
    for(i = 11;t <= 2770;i++)//t为什么从11 开始?
    {
        if(i >= 12)
        {
            i = 0;
            y++;
        }
        if(runnian(y))
            arr[1] = 29;
        else
            arr[1] = 28;
        day = 2770 - t;
        t = t + arr[i];   
        m = i + 1;//这三句也不是很懂

    }
    printf("y=%d,m=%d,d=%d",y,m,d+1);
}
搜索更多相关主题的帖子: include 年月日 数学家 高斯 日记 
2013-08-21 23:14
快速回复:小菜请大家帮忙解释一下"高斯日记"
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.015450 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved