├── 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 | --------------------------------------------------------------------------------