自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(18)
  • 收藏
  • 关注

原创 1019 数字黑洞

1、位数不够4的话,前面用'0'补齐,每次运算之前都要排序,由于字符串排序比较方便,直接转化成字符串,然后字符串每个数值进行内部排序,然后再转成字符串。3、计算结果等于0000或者6174就退出。2、字符串里面的字符是可以排序的。

2024-06-27 09:46:22 457

原创 1018 锤子剪刀布

(1)使用数组记录B、C、J赢得次数,由于有多个相同结果,按照字母顺序输出,所以下标为0、1、2。方法三、进一步优化,把赢和输的组合列举出来,分别用字典对应不同的值。(2)在输入结束之后,根据最大值得下标输出B或者C或者J。代码一、按照题目意思,依次判断即可。

2024-06-27 01:35:09 169

原创 1017 A除以B

3、如果当前数是第一个数,并且小于要除的数,那么暂时跳过,因为最前面没有0。方法二、利用python整数没有长度限制的特性。4、从第二个数开始,相除的整数和余数分开保存。2、余数乘以10+当前数。

2024-06-26 17:12:43 145

原创 1016 部分A+B

方法一、有多少个字符就拼接多少次,再将字符串转化成整数。方法二、出现一次拼接一次,再将字符串转化成数值。方法三、通过乘以10再相加的方法。2、根据字符个数得到相应的数值。1、先判断有多少个相应的字符。

2024-06-26 17:04:45 191

原创 1014 福尔摩斯的约会

(3)字符的有效范围是0123456789ABCDEFGHIJKLMN,分别对应的是0-23。(4)日期和小时都计算完了就可以直接break推出循环了,后面的不需要使用。1、前面两个字符串负责的是日期和小时,后面两个字符串对应的是分钟。注意一下,这个地方不是对应关系,用的是下标,不是对应关系。(2)日期已经计算完了,是第二对相同的字符。(3)大写字母的有效范围是ABCDEFG。(2)字符的有效范围是字母,不区分大小写。(1)使用的是第3个第4个字符串。(2)两个字符是大写字母。(1)两个字符要相同。

2024-06-24 11:32:34 207

原创 1012 数字分类

3、善于利用一个数学公式:1*-1 = -1,-1*-1等于1,只要设置一个操作数为1,然后不断乘以-1就可以做到交替的加和减。1、这个题目有一个测试点比较坑,那就是A2交错求和的过程中可能会等于0,也就是说不能根据结果是否是0来判断A2是否存在。2、本来可以直接根据cnt[n%5]+=1来进行计数,但有一个点很坑,那就是n必须为偶数才计数,奇数不进行计数。4、如果不知道上面的公式,那么根据数量的奇偶进行加或者减也是一样的效果。

2024-06-24 11:32:21 188

原创 1013 数素数

3、2*8= 8*2,4 = sqrt(16),把16写成两个数相乘,一定是有一个大于等于4,一个小于等于4,也就是一个数小于等于sqrt(16),一个大于等于sqrt(16)。若a = b * c,则b和c中,一定有一个数小于等于sqrt(a)。1、所有的偶数中只有2是素数,其他的素数都是来自奇数,所以除了2以外的偶数都不用判断。2、在判断的时候从奇数3开始判断,步长是2,每次需要判断的都是奇数。5、每10个数一组输出,每组的最后一个没有空格,直接换行。

2024-06-23 17:01:21 162

原创 1011 A+B 和 C

直接比较A+B 和C的大小即可。

2024-06-23 17:01:01 115

原创 1010 一元多项式求导

3、如果没有任何数据符合要求,那么在最后面输出0 0,这一点一定不能忘了,要不然有测试用例过不去。1、当系数和指数相乘等0的时候不需要输出。2、当系数和指数相乘等于0的时候输出。

2024-06-22 16:42:13 130

原创 1009 说反话

直接使用list接收,然后使用reverse反转即可。

2024-06-22 16:38:32 198

原创 1008 数组元素循环右移问题

4、直接这样输出会有几个测试点过不去,因为题目并没有说明M的值是小于等于N的,也就是说M的值有可能是大于N的。由于题目要求是将循环右移后的数组的输出结果,而不是要求必须先变换数组,因此可以直接输出循环右移后的数据。2、N个数循环右移M个位置,那么可以直接从下标N-M开始输出,到末尾结束。1、所谓的循环右移M个位置就是将末尾的M个数据放到前面来输出,前N-M个数据放到后面输出。5、如果有N个数,循环移动N次又重新回到了原点,也就是说真正需要移动的次数为:M%N。3、将初始位置前面的N-M个数输出.

2024-06-22 16:10:02 92

原创 1007 素数对猜想

3、2*8= 8*2,4 = sqrt(16),把16写成两个数相乘,一定是有一个大于等于4,一个小于等于4,也就是一个数小于等于sqrt(16),一个大于等于sqrt(16)。若a = b * c,则b和c中,一定有一个数小于等于sqrt(a)。4、使用一个变量num依次记录距离当前数最近的一个素数(不包括当前数),再依次更新。1、所有的偶数中只有2是素数,其他的素数都是来自奇数,所以除了2以外的偶数都不用判断。2、在判断的时候从奇数3开始判断,步长是2,每次需要判断的都是奇数。

2024-06-21 11:24:47 161

原创 1003 我要通过!

那么推测,当P和T之间再加一个A,得到的是aPbAATcaa,当P和T之间再加一个A,得到的是aPbAAATcaaa,并且b也是由A组成的字符串。(3)根据第(2)点,我们可以看出,P和T之间一定要有A,P的前面和T的后面可以是空,那么中间A是否只能有一个呢?根据测试样例PAAT是YES,PAT也是YES,可以推测,PxT都是对的,其中x由A组成,且至少有一个A,可以有多个A。a,b,c三者之间的关系是len(c) = len(b)*len(a),也就是a中A的数量*b中A的数量=c中A的数量。

2024-06-21 11:09:49 1957

原创 1006 换个格式输出整数

3、n mod 100得到的是后面的十位数和个位数,得到的数再整除10得到的就是十位数。1、整除得到的是整数部分,模(mod)得到的是余数。4、n mod 10得到的最后的个位数。2、n整除100得到的是百分数。

2024-06-20 10:31:12 206

原创 1005 继续(3n+1)猜想

1、按照题目意思,当一个数可以被其他数覆盖,那么这个数就不是关键数,否则就是关键数。1、按照题目意思,当一个数可以被其他数覆盖,那么这个数就不是关键数,否则就是关键数。3、计算每个数会覆盖哪些数,将覆盖的数标记为1,表示这个数可以被覆盖,不是关键数。4、计算完了每个数会被覆盖之后,将没有被覆盖的数,也就是关键数,挑选出来。3、计算完了每个数会被覆盖之后,将没有被覆盖的数,也就是关键数,挑选出来。2、计算每个数的被覆盖数,将每个覆盖数放到list里面。7、如果没有以下代码,有两个测试点过不了,数组会越界。

2024-06-20 10:23:17 160

原创 1004 成绩排名

3、两者之间存在对应关系,可以使用字典来实现,对应关系有三种:姓名对应学号和成绩,学号对应姓名和成绩,成绩对应姓名和学号。由于本题是输出成绩最高者和成绩最低者,根据成绩输出姓名和学号,因此本题采用成绩和姓名学号对应。4、由于字典中,键和值是一一对应的关系,一个键对应一个值,但成绩对应的是姓名和学号两个值。因此,需要将姓名和学号组合在一起,将姓名和学号拼接成一个字符串。5、将成绩放入到一个list中,可以通过max和min函数直接获取最大值和最小值。2、成绩和学号姓名一一对应。

2024-06-20 09:32:29 165

原创 1002 写出这个数

2、由于输出的时候从第一个数开始输出,但整型数逐个取每个位置的数只能从后往前取。因此,将整型数转换成字符串,然后就可以从前往后输出了。3、将要输出的字符串放入到字符串链表中,根据下标输出。1、依次计算,计算其各位数字之和。4、最后一个输出的后面没有空格。

2024-06-20 09:17:35 158

原创 1001 害死人不偿命的(3n+1)猜想

只要按照题目意思,每进行一次运算,运算次数加一即可,当值为1的时候结束循环。

2024-06-20 09:09:38 213

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除