最新公告
  • 欢迎您光临欧资源网,本站秉承服务宗旨 履行“站长”责任,销售只是起点 服务永无止境!立即加入我们
  • 【每日一题】一个很有趣的题目–

    今天看到一个很有意思的话题,话题描述如下:

    根据下列信息,计算从 1901 年 1 月 1 日到 2000 年 12 月 31 日,每个月的第一天有多少个星期天?

    a) 1900.1.1 是星期一

    b) 一月、三月、五月、七月、八月、十月和十二月是 31 天

    c) 4 月、6 月、9 月和 11 月 30 天

    d) 二月是 28 天,闰年是 29 天

    e) 能被 4 整除但不能被 100 整除的年份是闰年

    f) 能被 400 整除的闰年

    以下是C语言实现版本:

    #include 
    #include 
    bool isLeapYear(int year);
    // start is the weekday of 1st, January
    // return the num of the first day of each month
    // is Sunday.
    // the start will change into the next year
    int getYearNum(int* start, int year);
    // Num of days of each month
    int days[13] = {0, 31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31};
    int leapdays[13] = {0, 31, 29, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31};
    int main(void)
    {
    	int sum = 0;
    	int start = 1901;
    	int end = 2000;
    	int startWeek = 1;
    	int startYear = 1900;
    	int i;
    	for (i = 1; i < 13; ++i)
    		days[i] += days[i - 1];
    	for (i = 1; i < 13; ++i)
    		leapdays[i] += leapdays[i - 1];
    	for (i = startYear; i < start; ++i)
    		getYearNum(&startWeek, i);
    	for (i = start; i <= end; ++i)
    		sum += getYearNum(&startWeek, i);
    	printf("%dn", sum);
    	return 0;
    }
    bool isLeapYear(int year)
    {
    	if (year % 4 == 0 && year % 100 != 0)
    		return true;
    	else if (year % 400 == 0)
    		return true;
    	return false;
    }
    int getYearNum(int* start, int year)
    {
    	int i;
    	int count = 0;
    	int yeardays;
    	if (isLeapYear(year))
    	{
    		yeardays = 366;
    		for (i = 0; i < 12; ++i)
    			if ((leapdays[i] % 7 + *start)%7 == 0)
    				++count;
    	} else
    	{
    		yeardays = 365;
    		for (i = 0; i < 12; ++i)
    			if ((days[i] % 7 + *start)%7 == 0)
    				++count;
    	}
    	*start = (yeardays % 7 + *start)%7;
    	return count;
    }
    

    Down是最简单的python:

    import calendar
    sum = 0
    startYear = 1901
    endYear = 2000
    for year in xrange(startYear, endYear + 1):
    	for month in xrange(1, 13):
    		if calendar.monthcalendar(year, month)[0].index(1) == 6:
    			sum = sum + 1
    print sum
    

    最近对 JavaScript web scripting 有点兴趣,所以尝试用 JavaScript 来实现。感觉很好,有可视化和跨平台。

    好的有趣的c语言程序,一个问题有趣的c语言程序,多种语言,每种语言都有自己的优缺点。同时使用多种语言是一种很棒的体验。

    站内大部分资源收集于网络,若侵犯了您的合法权益,请联系我们删除!
    欧资源网 » 【每日一题】一个很有趣的题目–

    常见问题FAQ

    免费下载或者VIP会员专享资源能否直接商用?
    本站所有资源版权均属于原作者所有,这里所提供资源均只能用于参考学习用,请勿直接商用。若由于商用引起版权纠纷,一切责任均由使用者承担。更多说明请参考 VIP介绍。
    提示下载完但解压或打开不了?
    最常见的情况是下载不完整: 可对比下载完压缩包的与网盘上的容量,若小于网盘提示的容量则是这个原因。这是浏览器下载的bug,建议用百度网盘软件或迅雷下载。若排除这种情况,可在对应资源底部留言,或 联络我们.。
    找不到素材资源介绍文章里的示例图片?
    对于PPT,KEY,Mockups,APP,网页模版等类型的素材,文章内用于介绍的图片通常并不包含在对应可供下载素材包内。这些相关商业图片需另外购买,且本站不负责(也没有办法)找到出处。 同样地一些字体文件也是这种情况,但部分素材会在素材包内有一份字体下载链接清单。
    欧资源网
    一个高级程序员模板开发平台

    发表评论