- 博客(28)
- 收藏
- 关注
原创 猴子选大王
有n只猴子(编号从1到n),按顺时针方向围成一圈选大王。规则是从第1号开始报数,一直数到m,数到m的猴子退出圈外,剩下的猴子再接着从1开始报数。就这样重复下去,直到圈内只剩下一只猴子时,这只猴子就是大王。例如有100只猴子,数到14就退出,最后剩下的猴子是92号。
2025-04-03 19:59:59
198
原创 通配符(一)
Windows操作系统在查找文件时,文件名的匹配支持两种通配符:一种通配符是问号(“?”),它匹配任意的一个字符;一种通配符是星号(“*”),它匹配任意长度的任意字符。例如,有模板串:“win*”,它能匹配“windows”“window”“win”“wind”等正文串,但是不能匹配“wifi”“will”“with”“nowindows”这些串。
2025-04-03 19:51:34
115
原创 身份证号码验真(一)
i表示号码字符从左至右包括校验码字符在内的位置序号;ai表示第i位置上的号码字符值;Wi表示第i位置上的加权因子。即将各位上的数值乘上位权之和对11取余,余数为1则表示该编码正确。注意:如果最后一位校验码是“X”或“x”,则代表该校验码的数值为10。各位的权值依次是:7,9,10,5,8,4,2,1,6,3,7,9,10,5,8,4,2,1例如某身份证号码为:370683198901117657,这是正确的编码。又比如身份证号:43038120051120041X,这是正确的编码,
2025-04-03 19:46:58
108
原创 扑克牌魔术
东哥是个乡村魔术师,COVID-19疫情期间闲来无事,用扑克牌给邻居们表演了一场小魔术:他将一叠预先洗好的扑克牌背面朝上拿在手中,先将最上面的扑克牌放到最下面,然后打开现在最上面的这张扑克牌,并放到边上,这是一张1;然后又将最上面的扑克牌放到最下面,再次打开最上面的扑克牌,这次是一张2;他依次重复这两个步骤:(1)将最上面的放到最下面,(2)打开最上面的这张扑克牌,最终打开的扑克牌依次是:1,2,3,4……
2025-04-03 11:55:42
160
原创 统计单词长度
输入一个由英文单词组成的字符串,用空格作为分隔符,将每个单词的长度计算出来并形成一个新列表,并统计所有单词的平均长度,平均长度四舍五入取整。例如给定"I am a boy",应输出:[1,2,1,3] 平均长度为2。再给定"I can’t fly",应输出:[1,5,3] 平均长度为3。
2025-04-03 07:24:33
289
原创 字符种类统计
统计一个字符串中数字、字母、空格及其他符号的个数。字符串长度不超过1000。例如输入"Hello 123@World",其中有3个数字,10个字母,1个空格,1个其他符号。
2025-04-03 07:12:10
129
原创 判断出栈序列合法性
有1、2、3、4、5、6、7这7个数字依次全部入栈后再出栈,在入栈的过程中栈中的数据也可以随时出栈,一直到整个栈为空。将出栈得到的数字依次排列,就可以得到一个“合法”的序列;对应的,有些形式的排列是无论如何调整入栈和出栈顺序也无法得到的,被称为“非法”序列。比如:“1 2 3 4 6 7 5” 和“1 2 5 6 4 3 7”都是合法的序列,而“1 2 5 7 3 4 6”和“1 2 6 3 4 5 7”以及“1 2 6 3 5 4 7”都是非法的序列。
2025-04-02 22:09:06
93
原创 求解一元三次方程组
形如: ax^3+bx^2+cx+d=0 这样的三次方程,给出该方程中各项的系数(a,b,c,d均为实数),请求出该方程在指定范围内的一个根。例如方程:2x^3+3x^2+4x+5=0,在[-10,10]范围内有一个根为-1.371134。测试集给定的范围保证刚好有一个根。比如输入:-3 0则根为:-0.856541又比如输入:-3 0则根为:-1.534508。
2025-04-02 22:01:20
95
原创 右螺旋阵(题目+代码)
一个nm的右螺旋阵是一个顺时针方向旋转,从1开始依次填写数字直到nm为止的矩阵(类似于蚊香盘)。例如一个4*4的右螺旋矩阵是下面这个样子的:1 2 3 412 13 14 511 16 15 610 9 8 7再比如一个4行5列的右螺旋矩阵是下面这个样子的:1 2 3 4 5。
2025-04-02 21:50:19
188
原创 康托尔三角(一)
康托尔三角是由著名数学家康托尔设计的一个整数三角,可以用来证明所有有理数与自然数一一对应,亦即有理数集是一个可数集。康托尔三角的构造如下:36 38 5337 5455它的填充规律是:将自然数按照从小到大的顺序从左上角往右下角按照蛇形排列:从左下到右上,再从右上到左下,每当到达边界之后就改变填充方向。按照这种方式填充的三角形,给定行值和列值之后,填充的自然数是确定的。规定行值和列值均从1开始计算。用(行,列)的方式进行描述。
2025-04-02 08:45:32
140
原创 康托尔三角(二)
康托尔三角是由著名数学家康托尔设计的一个整数三角,可以用来证明所有有理数与自然数一一对应,亦即有理数集是一个可数集。康托尔三角的构造如下:36 38 5337 5455它的填充规律是:将自然数按照从小到大的顺序从左上角往右下角按照蛇形排列:从左下到右上,再从右上到左下,每当到达边界之后就改变填充方向。按照这种方式填充的三角形,给定行值和列值之后,填充的自然数是唯一确定的。规定行值和列值均从1开始计算。用(行,列)的方式进行描述。
2025-04-02 08:40:09
236
原创 任意进制转换
输入一个十进制的正整数n(1≤n≤1,000,000,000),和一个进制r(2≤r≤36),要求将n转换为r进制的数据输出。当r大于10时,转换出来的数据中10用字母’A’表示,11用字母’B’表示,以此类推,36用字母‘Z’表示。例如当n=123,r=2时,转换出来的数据为:1111011;当n=1615,r=16时,转换数据为:64F;当n=285,r=32时,转换出来的数据为:8T;当n=300,r=36时,转换出来的数据为:8C。
2025-04-01 22:31:44
134
原创 出现次数最多的字母
给定一个仅由大写字母、小写字母和空格组成的字符串,找出其中出现次数最多的字母。例如字符串"Good morning",其中字母"o"出现了3次,次数最多。再比如"Good evening Austin and Jack",其中字母"n"出现了4次,次数最多。如果一个字符串中出现次数最多的字母有多个,则以编码值小的字母为准。例如字符串"Good evening Lisa and Jack"中,字母"a"和"n"都出现了3次,"a"的编码值比"n"小,应以"a"为准。
2025-04-01 22:21:47
154
原创 重复选课的学生
学校开放了两门选修课,规定每位同学只能选择其中一门。但是有些同学不遵守规定,同时选择了两门课程,现在选课名单汇总出来了,请你根据名单将同时选择了两门课程的同学挑选出来,并按照字典顺序升序排列。例如,选择了A课程的同学有:Christia Natha Elija Ale Loga Jame Gabrie,选择了B课程的同学有:Joh Natha Elija Ale Rya Hayde,重复选课的同学是:Ale Elija Natha。
2025-04-01 15:08:49
210
原创 合并数据(二)
有两个整数序列,将其合并,去除其中重复元素,得到一个严格单调递减序列。例如有序列2,4,2,1,4和1,5,4,5,5,2,将其合并后得到的递减序列为:5,4,2,1又比如有序列:1,6,3,6,1,1,7 和 3,7,8,7,1,8,5,8,合并后得到的递减序列为:8,7,6,5,3,1。
2025-04-01 14:52:37
108
原创 向上取整(题目+代码)
给定一个双精度浮点数,对其向上取整。向上取整规则如下:对于正数,取得不小于这个正数的最小的那个正整数。比如3.7,向上取整为4;2.01向上取整为3;5.0向上取整为5。对于负数,取得不大于这个负数的最大的那个负整数。比如-3.7,向上取整为-4;-2.01向上取整为-3;-5.0向上取整为-5。
2025-03-31 17:17:57
203
原创 去除重复元素
给定一个长度为n(2≤n≤1000)的整数序列,去除其中的重复元素并升序排列,输出结果。比如,n=10,整数序列为:5, 6, 6, 6, 6, 9, 3, 7, 5, 5,去除重复元素后的升序序列为:3, 5, 6, 7, 9又比如n=15,整数序列为:12, 12, 10, 9, 6, 11, 8, 5, 6, 3, 3, 7, 1, 11, 10,去除重复元素后的升序序列为:1, 3, 5, 6, 7, 8, 9, 10, 11, 12。
2025-03-31 17:15:09
225
原创 逆向输出链表
根据给定的数据建立一个由n(1≤n≤1000)个元素组成的链表,然后按逻辑顺序逆序输出其中所有的数据。每个元素节点由两个域组成:第一个域存储数据,第二个域存储后继元素所在的位置。特别的,头结点的第一个域用来存储整个链表的长度。例如头结点(5, 3)表示长度为5,后继元素在3号位置;元素节点(14,7)表示数据值为14,后继节点在7号位置。如果后继指针为0则表示链表结束。例如: (6, 6)(673, 4)(428, 1)(685, 2)(170, 0)(488, 3)(519, 5)
2025-03-31 17:13:44
545
原创 输出链表(题目+算法)
根据给定的数据建立一个由n(n≤1000)个元素组成的链表,然后按逻辑顺序输出其中所有的数据。每个元素节点由两个域组成:第一个域存储数据,第二个域存储后继元素所在的位置。特别的,头结点的第一个域用来存储整个链表的长度。例如头结点(5, 3)表示长度为5,后继元素在3号位置;元素节点(14,7)表示数据值为14,后继节点在7号位置。如果后继指针为0则表示链表结束。例如: (6, 6)(673, 4)(428, 1)(685, 2)(170, 0)(488, 3)(519, 5)
2025-03-31 17:12:45
627
原创 删除多个元素
从长度为n的整数序列中删除指定位序的m个元素,按照原顺序输出剩余的元素。其中,1≤m≤n≤1000,原整数序列为a;要删除的元素位序按照严格单调递增的方式存储在序列b中,其中元素b[i]表示要从a中删除的元素的位序,输入数据保证0≤b[i]≤n-1, b[i]<b[i+1]。例如:n=10,m=5,a={46, 7, 27, 50, 71, 79, 21, 56, 18, 77},b={0, 2, 3, 4, 5},则删除后得到序列为{7, 21, 56, 18, 77 }
2025-03-31 17:11:18
199
原创 合并两个有序表
已知两个严格单调递增的表a(长度为n,n≤10000)和表b(长度为m,m≤10000),其中数据均为正整数,将其合并成一个严格单调递增的表c。
2025-03-31 17:07:38
217
原创 一元多项式相加
一个数学上的一元多项式Pn(x)可按升幂写成:而两个多项式相加:则只要将幂指数相等的系数相加即可,表示成:下面我们来看看如何将两个多项式相加。
2025-03-31 17:06:09
182
原创 求所有质因子
一个合数可以表示成若干个质数相乘的形式,比如21=3×7,18=2×3×3,这些质数被称为它的质因子。给定一个合数n(n≤2^31-1),求出它的所有质因子。
2025-03-31 17:04:36
221
原创 开关灯(题目+代码)
假设有N盏灯(N为不大于5000的正整数),从1到N按顺序依次编号,初始时全部处于开启状态;有M个人(M为不大于N的正整数)也从1到M依次编号。第一个人(1号)将灯全部关闭,第二个人(2号)将编号为2的倍数的灯打开,第三个人(3号)将编号为3的倍数的灯做相反处理(即将打开的灯关闭,将关闭的灯打开)。依照编号递增顺序,以后的人都和3号一样,将凡是自己编号倍数的灯做相反处理。请问:当第M个人操作之后,哪几盏灯是关闭的,按从小到大输出其编号,其间用逗号间隔。
2025-03-31 17:02:50
636
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人