作者共发了9篇帖子。 内容转换:不转换▼
 
点击 回复
678 10
【直播】蓝桥杯大赛个人赛(软件类)省赛真题练习
一派护法 十九级
1楼 发表于:2015-11-17 23:55

题目标题: 高斯日记

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

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

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

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

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

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

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

请严格按照格式,通过浏览器提交答案。
注意:只提交这个日期,不要写其它附加内容,比如:说明性的文字。
一派护法 十九级
2楼 发表于:2015-11-17 23:56
【编写的VS2012 C程序】
// Match.cpp : Defines the entry point for the console application.
//

#include "stdafx.h"
#include <stdio.h>
#include <conio.h>

void checkLeapYear(int *daynum, const int year)
{
    if ((year % 100 != 0 && year % 4 == 0) || (year % 100 == 0 && year % 400 == 0))
        *daynum = 29;
    else
        *daynum = 28;
}

void cal(const int num)
{
    int daynum[] = {0, 31, 0, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31};
    int year = 1777;
    int month = 4;
    int day = 30;
    int i = num - 1; // 1777-4-30 is his first day
    checkLeapYear(&daynum[2], year);
    while (i--)
    {
        day++;
        if (day > daynum[month])
        {
            day = 1;
            month++;
            if (month > 12)
            {
                month = 1;
                year++;
                checkLeapYear(&daynum[2], year);
            }
        }
    }
    printf("Day %d: %4d-%02d-%02d\n", num, year, month, day);
}

int _tmain(int argc, _TCHAR* argv[])
{
    cal(1);
    cal(3);
    cal(5343);
    cal(8113);
    _getch();
    return 0;
}
【运行结果】
Day 1: 1777-04-30
Day 3: 1777-05-02
Day 5343: 1791-12-15
Day 8113: 1799-07-16
一派护法 十九级
3楼 发表于:2015-11-17 23:59
VS2012把C语言修改了很多,比如禁止使用标准的sprintf、scanf和getch函数,而且还有#include "stdafx.h"这句话禁止删除(除非创建的是空工程),main主函数的名字也被改成了_tmain,默认运行控制台程序时窗口一闪而过,必须手动加_getch();等。
因此,编写程序时,最好采用大赛所推荐的Dev-C++开发环境(使用的是GNU的gcc编译器)
一派护法 十九级
4楼 发表于:2015-11-18 00:02

标题: 马虎的算式


    小明是个急性子,上小学的时候经常把老师写在黑板上的题目抄错了。

    有一次,老师出的题目是:36 x 495 = ?

    他却给抄成了:396 x 45 = ?

    但结果却很戏剧性,他的答案竟然是对的!!

    因为 36 * 495 = 396 * 45 = 17820

    类似这样的巧合情况可能还有很多,比如:27 * 594 = 297 * 54

    假设 a b c d e 代表1~9不同的5个数字(注意是各不相同的数字,且不含0)

    能满足形如: ab * cde = adb * ce 这样的算式一共有多少种呢?


请你利用计算机的优势寻找所有的可能,并回答不同算式的种类数。

满足乘法交换律的算式计为不同的种类,所以答案肯定是个偶数。


答案直接通过浏览器提交。
注意:只提交一个表示最终统计种类数的数字,不要提交解答过程或其它多余的内容。

一派护法 十九级
5楼 发表于:2015-11-19 23:17
回復:4樓
由于C语言对1~9这九个数作A(5, 9)排列十分复杂(光是做全排A9,9都十分复杂,还别说挑五个出来作排列了!,参见:https://zh.arslanbar.net/post.php?t=23414),所以可以换个方式,用for循环让变量i从12345开始一直计到98765,每次循环都检查这五个数字是否互不相同,如果有两个数字是相同就continue,否则就检查是否满足ab * cde = adb * ce,满足则输出这个算式。
一派护法 十九级
6楼 发表于:2015-11-19 23:32
#include <stdio.h>

int main()
{
    int num, i, j, flag;
    int digits[5];
    int ab, cde, adb, ce;
    int count = 0;
    for (num = 12345; num <= 98765; num++)
    {
        digits[4] = num / 10000;
        digits[3] = num % 10000 / 1000;
        digits[2] = num % 1000 / 100;
        digits[1] = num % 100 / 10;
        digits[0] = num % 10;
        flag = 0;
        for (i = 0; i < 5; i++)
        {
            if (digits[i] == 0)
            {
                // 0 is forbidden
                flag = 1;
                break;
            }
            for (j = i + 1; j < 5; j++)
            {
                if (digits[i] == digits[j])
                {
                    flag = 1;
                    break;
                }
            }
            if (flag == 1)
                break;
        }
        if (flag == 1)
            continue;
        
        ab = digits[4] * 10 + digits[3];
        cde = digits[2] * 100 + digits[1] * 10 + digits[0];
        adb = digits[4] * 100 + digits[1] * 10 + digits[3];
        ce = digits[2] * 10 + digits[0];
        if (ab * cde == adb * ce)
        {
            count++;
            printf("%d * %d = %d * %d = %d\n", ab, cde, adb, ce, ab * cde);
        }
    }
    printf("Count: %d\n", count);
    return 0;
}
【运行结果】
14 * 253 = 154 * 23 = 3542
14 * 352 = 154 * 32 = 4928
14 * 536 = 134 * 56 = 7504
14 * 938 = 134 * 98 = 13132
15 * 264 = 165 * 24 = 3960
15 * 462 = 165 * 42 = 6930
16 * 238 = 136 * 28 = 3808
16 * 275 = 176 * 25 = 4400
16 * 294 = 196 * 24 = 4704
16 * 374 = 176 * 34 = 5984
16 * 392 = 196 * 32 = 6272
16 * 473 = 176 * 43 = 7568
16 * 572 = 176 * 52 = 9152
17 * 286 = 187 * 26 = 4862
17 * 385 = 187 * 35 = 6545
17 * 394 = 197 * 34 = 6698
17 * 583 = 187 * 53 = 9911
17 * 682 = 187 * 62 = 11594
18 * 297 = 198 * 27 = 5346
18 * 396 = 198 * 36 = 7128
18 * 495 = 198 * 45 = 8910
18 * 594 = 198 * 54 = 10692
18 * 693 = 198 * 63 = 12474
18 * 792 = 198 * 72 = 14256
23 * 154 = 253 * 14 = 3542
23 * 451 = 253 * 41 = 10373
24 * 165 = 264 * 15 = 3960
24 * 196 = 294 * 16 = 4704
24 * 561 = 264 * 51 = 13464
24 * 936 = 234 * 96 = 22464
25 * 176 = 275 * 16 = 4400
25 * 374 = 275 * 34 = 9350
25 * 473 = 275 * 43 = 11825
25 * 671 = 275 * 61 = 16775
26 * 187 = 286 * 17 = 4862
26 * 385 = 286 * 35 = 10010
26 * 583 = 286 * 53 = 15158
26 * 781 = 286 * 71 = 20306
27 * 198 = 297 * 18 = 5346
27 * 396 = 297 * 36 = 10692
27 * 495 = 297 * 45 = 13365
27 * 594 = 297 * 54 = 16038
27 * 693 = 297 * 63 = 18711
27 * 891 = 297 * 81 = 24057
28 * 136 = 238 * 16 = 3808
28 * 469 = 268 * 49 = 13132
28 * 596 = 298 * 56 = 16688
32 * 154 = 352 * 14 = 4928
32 * 196 = 392 * 16 = 6272
32 * 451 = 352 * 41 = 14432
34 * 176 = 374 * 16 = 5984
34 * 197 = 394 * 17 = 6698
34 * 275 = 374 * 25 = 9350
34 * 572 = 374 * 52 = 19448
34 * 591 = 394 * 51 = 20094
34 * 671 = 374 * 61 = 22814
35 * 187 = 385 * 17 = 6545
35 * 286 = 385 * 26 = 10010
35 * 682 = 385 * 62 = 23870
35 * 781 = 385 * 71 = 27335
36 * 198 = 396 * 18 = 7128
36 * 297 = 396 * 27 = 10692
36 * 495 = 396 * 45 = 17820
36 * 594 = 396 * 54 = 21384
36 * 792 = 396 * 72 = 28512
36 * 891 = 396 * 81 = 32076
38 * 597 = 398 * 57 = 22686
38 * 796 = 398 * 76 = 30248
41 * 253 = 451 * 23 = 10373
41 * 352 = 451 * 32 = 14432
42 * 165 = 462 * 15 = 6930
42 * 561 = 462 * 51 = 23562
43 * 176 = 473 * 16 = 7568
43 * 275 = 473 * 25 = 11825
43 * 572 = 473 * 52 = 24596
43 * 671 = 473 * 61 = 28853
45 * 198 = 495 * 18 = 8910
45 * 297 = 495 * 27 = 13365
45 * 396 = 495 * 36 = 17820
45 * 693 = 495 * 63 = 31185
45 * 792 = 495 * 72 = 35640
45 * 891 = 495 * 81 = 40095
49 * 268 = 469 * 28 = 13132
51 * 264 = 561 * 24 = 13464
51 * 394 = 591 * 34 = 20094
51 * 462 = 561 * 42 = 23562
52 * 176 = 572 * 16 = 9152
52 * 374 = 572 * 34 = 19448
52 * 473 = 572 * 43 = 24596
52 * 671 = 572 * 61 = 34892
52 * 931 = 532 * 91 = 48412
53 * 187 = 583 * 17 = 9911
53 * 286 = 583 * 26 = 15158
53 * 682 = 583 * 62 = 36146
53 * 781 = 583 * 71 = 41393
54 * 198 = 594 * 18 = 10692
54 * 297 = 594 * 27 = 16038
54 * 396 = 594 * 36 = 21384
54 * 693 = 594 * 63 = 37422
54 * 792 = 594 * 72 = 42768
54 * 891 = 594 * 81 = 48114
56 * 134 = 536 * 14 = 7504
56 * 298 = 596 * 28 = 16688
56 * 894 = 596 * 84 = 50064
56 * 938 = 536 * 98 = 52528
57 * 398 = 597 * 38 = 22686
61 * 275 = 671 * 25 = 16775
61 * 374 = 671 * 34 = 22814
61 * 473 = 671 * 43 = 28853
61 * 572 = 671 * 52 = 34892
62 * 187 = 682 * 17 = 11594
62 * 385 = 682 * 35 = 23870
62 * 583 = 682 * 53 = 36146
62 * 781 = 682 * 71 = 48422
63 * 198 = 693 * 18 = 12474
63 * 297 = 693 * 27 = 18711
63 * 495 = 693 * 45 = 31185
63 * 594 = 693 * 54 = 37422
63 * 792 = 693 * 72 = 49896
63 * 891 = 693 * 81 = 56133
71 * 286 = 781 * 26 = 20306
71 * 385 = 781 * 35 = 27335
71 * 583 = 781 * 53 = 41393
71 * 682 = 781 * 62 = 48422
72 * 198 = 792 * 18 = 14256
72 * 396 = 792 * 36 = 28512
72 * 495 = 792 * 45 = 35640
72 * 594 = 792 * 54 = 42768
72 * 693 = 792 * 63 = 49896
72 * 891 = 792 * 81 = 64152
76 * 398 = 796 * 38 = 30248
81 * 297 = 891 * 27 = 24057
81 * 396 = 891 * 36 = 32076
81 * 495 = 891 * 45 = 40095
81 * 594 = 891 * 54 = 48114
81 * 693 = 891 * 63 = 56133
81 * 792 = 891 * 72 = 64152
84 * 596 = 894 * 56 = 50064
91 * 532 = 931 * 52 = 48412
96 * 234 = 936 * 24 = 22464
98 * 134 = 938 * 14 = 13132
98 * 536 = 938 * 56 = 52528
Count: 142
一派护法 十九级
7楼 发表于:2015-11-19 23:44

回復:6樓

这个程序我写了15分钟。

所以在竞赛时,时间控制很重要。。。

一派护法 十九级
8楼 发表于:2015-11-21 20:59
第七届蓝桥杯全国软件和信息技术专业人才大赛
赛程安排 个人赛报名时间:2015年10月到2015年12月15日截止
省赛时间:2016年3月
省赛地点:各分赛区指定赛点学校。
国赛(全国总决赛)时间:2016年5月
国赛竞赛地点:暂定北京
一派护法 十九级
11楼 发表于:2015-11-26 21:37

回復:10樓

图好小啊!

回复帖子

内容:
用户名: 您目前是匿名发表
验证码:
(快捷键:Ctrl+Enter)
 

本帖信息

点击数:678 回复数:10
评论数: ?
作者:巨大八爪鱼
最后回复:巨大八爪鱼
最后回复时间:2015-11-26 21:37
 
©2010-2024 Arslanbar Ver2.0
除非另有声明,本站采用知识共享署名-相同方式共享 3.0 Unported许可协议进行许可。