- 博客(24)
- 收藏
- 关注
原创 java面向对象编程的阐述
总结:封装是基础,通过隐藏细节来保护数据;继承是对封装的进一步扩展,实现了代码复用和家族传承;多态则建立在继承的基础上,使得对象能够灵活地响应不同的操作;接口与抽象类提供了更规范的定义和实现方式;内部类可以在特定场景下提供更灵活的编程结构;对象的组合与关联让不同对象协同工作;异常处理用于应对可能出现的意外情况;而设计原则则指导着我们如何更好地设计和编写代码,保证代码的质量和可维护性。
2024-11-02 14:30:46
399
原创 1023 组个最小数
给定数字 0-9 各若干个。你可以以任意顺序排列这些数字,但必须全部使用。目标是使得最后得到的数尽可能小(注意 0 不能做首位)。例如:给定两个 0,两个 1,三个 5,一个 8,我们得到的最小的数就是 10015558。现给定数字,请编写程序输出能够组成的最小的数。
2024-10-15 15:03:15
184
原创 1021 个位数统计
给定一个 k 位整数 N=dk−110k−1+⋯+d1101+d0 (0≤di≤9, i=0,⋯,k−1, dk−1>0),请编写程序统计每种不同的个位数字出现的次数。例如:给定 N=100311,则有 2 个 0,3 个 1,和 1 个 3。
2024-10-14 19:28:24
167
原创 1020 月饼
月饼是中国人在中秋佳节时吃的一种传统食品,不同地区有许多不同风味的月饼。现给定所有种类月饼的库存量、总售价、以及市场的最大需求量,请你计算可以获得的最大收益是多少。注意:销售时允许取出一部分库存。样例给出的情形是这样的:假如我们有 3 种月饼,其库存量分别为 18、15、10 万吨,总售价分别为 75、72、45 亿元。如果市场的最大需求量只有 20 万吨,那么我们最大收益策略应该是卖出全部 15 万吨第 2 种月饼、以及 5 万吨第 3 种月饼,获得 72 + 45/2 = 94.5(亿元)。
2024-10-14 19:19:07
263
原创 1019 数字黑洞
给定任一个各位数字不完全相同的 4 位正整数,如果我们先把 4 个数字按非递增排序,再按非递减排序,然后用第 1 个数字减第 2 个数字,将得到一个新的数字。一直重复这样做,我们很快会停在有“数字黑洞”之称的6174,这个神奇的数字也叫 Kaprekar 常数。例如,我们从6767开始,将得到现给定任意 4 位正整数,请编写程序演示到达黑洞的过程。
2024-10-14 18:07:37
251
原创 1018 锤子剪刀布
大家应该都会玩“锤子剪刀布”的游戏:两人同时给出手势,胜负规则如图所示:现给出两人的交锋记录,请统计双方的胜、平、负次数,并且给出双方分别出什么手势的胜算最大。
2024-10-14 16:27:34
234
原创 1017 A除以B
本题要求计算 A/B,其中 A 是不超过 1000 位的正整数,B 是 1 位正整数。你需要输出商数 Q 和余数 R,使得 A=B×Q+R 成立。
2024-10-14 15:51:28
248
原创 1016 部分A+B
正整数 A 的“DA(为 1 位整数)部分”定义为由 A 中所有 DA 组成的新整数 PA。例如:给定 A=3862767,DA=6,则 A 的“6 部分”PA 是 66,因为 A 中有 2 个 6。现给定 A、DA、B、DB,请编写程序计算 PA+PB。
2024-10-14 15:50:31
169
原创 1015 德才论
宋代史学家司马光在《资治通鉴》中有一段著名的“德才论”:“是故才德全尽谓之圣人,才德兼亡谓之愚人,德胜才谓之君子,才胜德谓之小人。凡取人之术,苟不得圣人,君子而与之,与其得小人,不若得愚人。现给出一批考生的德才分数,请根据司马光的理论给出录取排名。
2024-10-14 15:49:32
472
原创 1014 福尔摩斯的约会
大侦探很快就明白了,字条上奇怪的乱码实际上就是约会的时间星期四 14:04,因为前面两字符串中第 1 对相同的大写英文字母(大小写有区分)是第 4 个字母D,代表星期四;第 2 对相同的字符是E,那是第 5 个英文字母,代表一天里的第 14 个钟头(于是一天的 0 点到 23 点由数字 0 到 9、以及大写字母A到N表示);后面两字符串第 1 对相同的英文字母s出现在第 4 个位置(从 0 开始计数)上,代表第 4 分钟。现给定两对字符串,请帮助福尔摩斯解码得到约会的时间。
2024-10-14 15:19:18
168
原创 1012 数字分类
每个输入包含 1 个测试用例。每个测试用例先给出一个不超过 1000 的正整数 N,随后给出 N 个不超过 1000 的待分类的正整数。对给定的 N 个正整数,按题目要求计算 A1~A5 并在一行中顺序输出。数字间以空格分隔,但行末不得有多余空格。若分类之后某一类不存在数字,则在相应位置输出。
2024-10-13 21:32:36
313
原创 1007 素数对猜想
让我们定义dn为:dn=pn+1−pn,其中pi是第i个素数。显然有d1=1,且对于n>1有dn是偶数。“素数对猜想”认为“存在无穷多对相邻且差为2的素数”。现给定任意正整数N(<105),请计算不超过N的满足猜想的素数对的个数。
2024-09-29 20:55:24
267
原创 1006 换个格式输出整数
让我们用字母B来表示“百”、字母S表示“十”,用12...n来表示不为零的个位数字n(<10),换个格式来输出任一个不超过 3 位的正整数。例如234应该被输出为BBSSS1234,因为它有 2 个“百”、3 个“十”、以及个位的 4。
2024-09-29 20:41:21
318
原创 1005 继续(3n+1)猜想
卡拉兹(Callatz)猜想已经在1001中给出了描述。在这个题目里,情况稍微有些复杂。当我们验证卡拉兹猜想的时候,为了避免重复计算,可以记录下递推过程中遇到的每一个数。例如对 n=3 进行验证的时候,我们需要计算 3、5、8、4、2、1,则当我们对 n=5、8、4、2 进行验证的时候,就可以直接判定卡拉兹猜想的真伪,而不需要重复计算,因为这 4 个数已经在验证3的时候遇到过了,我们称 5、8、4、2 是被 3“覆盖”的数。
2024-09-29 20:22:20
379
原创 数据结构线性表的操作
2.增:向线性表中第i(1<=i<=maxsize)个位置插入x。2.增:向线性表中第i(1<=i<=maxsize)个位置插入x。7.改:将线性表中值为x的第一个元素的值改为y。4.删:删除线性表中第i个位置的元素。6.查:查找线性表中第i个位置的元素。3.删:删除线性表中值为x的元素。5.查:查找线性表中值为x的元素。7.改:将线性表中值为x的第一个元素的值改为y。3.删:删除线性表中值为x的元素。4.删:删除线性表中第i个位置的元素。6.查:查找线性表中第i个位置的元素。
2024-09-24 20:58:31
227
原创 1001 害死人不偿命的(3n+1)猜想
int n,s=0;while(1){if(n==1){break;n/=2;s++;else{s++;
2024-09-23 18:29:49
273
1
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅