├── A+B Problem I.md
├── A+B Problem II.md
├── A+B Problem III.md
├── A+B Problem IV.md
└── README.md
/A+B Problem I.md:
--------------------------------------------------------------------------------
1 | # A+B Problem I
2 |
3 | ## 背景
4 |
5 | 新一年的OO课程开始了,HansBug准备给大家寒假增添一点乐趣。
6 |
7 | ## 题目描述
8 |
9 | 这是一个很简单的问题,即求两个十进制整数的和。
10 |
11 | ## 输入格式
12 |
13 | 第一行包含两个十进制整数,用空格分隔,分别表示$a$和$b$。
14 |
15 | ## 输出格式
16 |
17 | 一行,包含一个十进制整数,即为$a+b$。
18 |
19 | ## 样例
20 |
21 | | # | 输入 | 输出 | 解释 |
22 | | :--: | ---------------------- | ------ | ------------------------ |
23 | | 1 | 1 2 | 3 | 显然。 |
24 | | 2 | 10000 20000 | 30000 | 更加显然。 |
25 | | 3 | -10000 -20000 | -30000 | 非常显然。 |
26 | | 4 | -10000 300000 | 290000 | 毫无疑问地显然。 |
27 | | 5 | -2147483648 2147483647 | -1 | 更加非常毫无疑问地显然。 |
28 |
29 | ## 说明
30 |
31 | ### 约束信息
32 |
33 | * 保证所有输入的数合法,可以用一般的方式直接读入
34 | * 保证所有输入的数满足$-2^{32} \leq a, b \leq 2^{32}-1$
35 | * 不保证$a$、$b$之间仅包含一个空格
36 | * 输出中请不要包含多余的正负号
37 |
38 | ### 需要先学习的技能
39 |
40 | * 基本的Java语法
41 | * Java的基本io操作(推荐使用`Scanner`)
42 | * Java的基本整数数据类型
43 |
44 |
45 |
46 |
47 |
48 |
--------------------------------------------------------------------------------
/A+B Problem II.md:
--------------------------------------------------------------------------------
1 | # A+B Problem II
2 |
3 | ## 背景
4 |
5 | 新一年的OO课程开始了,HansBug准备给大家寒假增添一点乐趣。
6 |
7 | ## 题目描述
8 |
9 | 这是一个很简单的问题,即求两个十进制整数的和。**然而这一次,事情有那么一点不同**。
10 |
11 | ## 输入格式
12 |
13 | 第一行包含两个十进制整数,用空格分隔,分别表示$a$和$b$。
14 |
15 | 对于
16 |
17 | ## 输出格式
18 |
19 | 一行,包含一个十进制整数,即为$a+b$。
20 |
21 | 如果输入的数据不合法,则需要输出`WRONG FORMAT!`
22 |
23 | ## 样例
24 |
25 | | # | 输入 | 输出 | 解释 |
26 | | :--: | ------------------------- | ------------- | ---------------------------------- |
27 | | 1 | 1 2 | 3 | 显然。 |
28 | | 2 | 10000 20000 | 30000 | 更加显然。 |
29 | | 3 | -10000000000 -20000000000 | -30000000000 | 非常显然。 |
30 | | 4 | -+10000 300000 | WRONG FORMAT! | -+10000整数格式错误。 |
31 | | 5 | -10000 3000 123 | WRONG FORMAT! | 包含的整数个数不是两个,格式错误。 |
32 |
33 | ## 说明
34 |
35 | ### 约束信息
36 |
37 | * 不保证所有输入的数合法
38 | * 对于一个整数的合法性,判定标准定义为:对于一个整数,应该由一个或多个连续的`0`~`9`数字构成(允许任意数量的前导零),且数字开头可以包含一个正号(`+`)或者(`-`)。
39 | * 对于输入数据的行内,应当包含且仅包含两个合法的整数。
40 | * 如果输入数据违反了上述两条,则需要输出`WRONG FORMAT!`
41 | * 保证所有输入的合法整数满足$\left( -10^{100000}+1 \right) \leq a, b \leq \left( 10^{100000}-1\right)$
42 | * 不保证$a$、$b$之间仅包含一个空格
43 | * 输出中请不要包含多余的正负号
44 |
45 | ### 需要先学习的技能
46 |
47 | * 基本的Java语法
48 | * Java的基本io操作(推荐使用`Scanner`)
49 | * Java的基本整数数据类型
50 | * (二选一)Java的数组基本操作 / Java的高精度数据类型(具体可以百度)
51 | * 正则表达式的基本使用
52 |
53 |
54 |
55 |
56 |
57 |
--------------------------------------------------------------------------------
/A+B Problem III.md:
--------------------------------------------------------------------------------
1 | # A+B Problem III
2 |
3 | ## 背景
4 |
5 | 新一年的OO课程开始了,HansBug准备给大家寒假增添一点乐趣。
6 |
7 | ## 题目描述
8 |
9 | 这是一个很简单的问题,即求两个十进制整数的和。**然而这一次,事情有那么两点不同**。
10 |
11 | ## 输入格式
12 |
13 | 输入包含三行。
14 |
15 | 第一行包含两个整数$A$和$a$,其中$a$为一个$A$进制整数。
16 |
17 | 第二行包含两个整数$B$和$b$,其中$b$为一个$B$进制整数。
18 |
19 | 第三行包含一个整数$C$。
20 |
21 | ## 输出格式
22 |
23 | 一行,包含一个$C$进制整数,即为$a+b$。
24 |
25 | ## 样例
26 |
27 | | # | 输入 | 输出 | 解释 |
28 | | :--: | ------------------------------------------------ | -------------------- | ------------------------------------------------------------ |
29 | | 1 | 10 1
10 2
10 | 3 | 显然。 |
30 | | 2 | 3 10000
4 20000
5 | 4333 | ${\left(10000\right)}_3 = 81$,
${\left(20000\right)}_4 = 512$,
$81 + 512 = 593 = {\left(4333\right)}_5$ |
31 | | 3 | 8 1234567012345670
16 -123456789abcdef0
10 | -1311722512518943544 | 显然。 |
32 |
33 | ## 说明
34 |
35 | ### 约束信息
36 |
37 | * 保证所有输入的整数合法(但是可以包含一个正号或者负号)
38 | * 保证所有出现的进制不大于$35$,且不小于$2$
39 | * 保证所有输入的整数满足去除开头的正负号后长度不超过${10}^5$
40 | * 不保证各个分隔处仅包含一个空格
41 | * 不保证数字中的字母只包含大写或者小写
42 | * 输出中请不要包含包含多余的正负号
43 |
44 | ### 需要先学习的技能
45 |
46 | * 基本的Java语法
47 | * Java的基本io操作(推荐使用`Scanner`)
48 | * Java的基本整数数据类型
49 | * (二选一)Java的数组基本操作 / Java的高精度数据类型(具体可以百度)
50 | * Java的基本字符串操作
51 | * 代码的复用
52 | * 如果你不知道进制是什么意思的话,可以去百度一下
53 |
54 |
55 |
56 |
57 |
58 |
--------------------------------------------------------------------------------
/A+B Problem IV.md:
--------------------------------------------------------------------------------
1 | # A+B Problem IV
2 |
3 | ## 背景
4 |
5 | 新一年的OO课程开始了,HansBug准备给大家寒假增添一点乐趣。
6 |
7 | ## 题目描述
8 |
9 | 这是一个很简单的问题,即求两个十进制整数的和。**然而这一次,事情有那么三点不同**。
10 |
11 | ## 输入格式
12 |
13 | 输入包含一行,为一个包含整数和加减法运算的表达式。
14 |
15 | ## 输出格式
16 |
17 | 一行,包含一个$10$进制整数,即为上述表达式的结果。
18 |
19 | ## 样例
20 |
21 | | # | 输入 | 输出 | 解释 |
22 | | :--: | ------------------------------------------------------------ | ----------------------- | -------------- |
23 | | 1 | 1+2 | 3 | 显然。 |
24 | | 2 | 2348038457985-284598723+89347546349856983569834--89345468345 | 89347546352294082897441 | 更加显然。 |
25 | | 3 | 1-2+3-4+5-6+7-8+9-10 | -5 | 非常显然。 |
26 | | 4 | -1++2--3 | 4 | 更加非常显然。 |
27 |
28 | (样例表格中可能存在显示为多行的情况,实际上均为一行)
29 |
30 | ## 说明
31 |
32 | ### 约束信息
33 |
34 | * 保证所有输入的整数合法(但是可以包含一个正号或者负号),且均为$10$进制整数
35 | * 保证输入的表达式总长度不超过${10}^5$
36 | * 表达式的各处分隔(开头、结尾、数字和运算符之间,运算符不包括整数开头的正负号)的空格数可以为多个
37 | * 输出中请不要包含包含多余的正负号
38 |
39 | ### 需要先学习的技能
40 |
41 | * 基本的Java语法
42 | * Java的基本io操作(推荐使用`Scanner`)
43 | * Java的基本整数数据类型
44 | * (二选一)Java的数组基本操作 / Java的高精度数据类型(具体可以百度)
45 | * Java的基本字符串操作
46 | * 代码的复用
47 | * 正则表达式的基本操作
48 |
49 |
50 |
51 |
52 |
53 |
--------------------------------------------------------------------------------
/README.md:
--------------------------------------------------------------------------------
1 | # homework readme
2 |
3 |
4 | ## 公告
5 | - **2月25日13点更新公告**:提交权限问题已经解决,请大家按要求提交作业。
6 | - 对于作业内容的问题,请大家在ISSUE区中提问,我们会在下面的**作业内容说明部分**统一进行解释。课程系统上线之后会有专用的讨论区。一切请以作业原始文档和下文中的作业内容说明部分为准。
7 | - 对于".md"文件中数学公式显示的问题,大家可以下载Typora来打开查看,获得更舒适的体验。这里附上链接:https://www.typora.io/
8 |
9 |
10 | ## 作业内容说明
11 | 正负号和加减号相连问题:https://github.com/OO-guide-2019/homework-pre/issues/2 (注:一定认真读完所有comment)
12 |
13 | ## 提交说明
14 | - 时间:2月25日12:00开放,20:00截止,(12:00之前提前进行提交会导致数据丢失)会通过gitlab进行提交,可进行多次commit,我们会拉取20:00前最后一次commit作为最终版本。
15 | - oo专用gitlab地址:https://gitlab.buaaoo.top
16 | - 账号密码都是个人学号,请登录后**迅速更改密码**
17 | - 已经提前为大家创建好了寒假四次作业对应的四个仓库,格式为oo_2019_homework_个人学号_pre_作业号(作业号对应为1,2,3,4),请大家提交到对应gitlab仓库中,如有gitlab使用问题请参见git-guide
18 | - 每个仓库提交时请**仅提交src文件夹(其中包含package结构和所有的java源代码,即后缀为`.java`的文件),.gitignore,readme.md**,不要有其他多余的文件
19 | - 本次寒假作业提交不是实时评测,评测结果将会在一个合适的时间反馈给大家
20 |
21 |
22 | 如果有其他问题,请联系管理员邮箱niuyazhe@buaa.edu.cn
23 |
--------------------------------------------------------------------------------