- 博客(107)
- 收藏
- 关注
原创 欧拉计划 Project Euler 51(素数数字替换) 题解
将五位数 56**3 的第三和第四位数字替换为相同的任意数字,在十个可能值中有七个是素数,这也是同类例子中最小的一个。这些素数分别是:56003、56113、56333、56443、56663、56773 和 56993。56003 作为其中最小的数,也就是最小的满足这个性质的素数。将两位数 *3 的第一位数字替换为任意数字,在九个可能值中有六个是素数:13、23、43、53、73 和 83。通过将部分数字(不一定相同的)替换为相同的任意数字,有时能够得到八个素数,求满足这一性质的最小素数。
2025-01-15 12:14:50
174
原创 豆包MarsCode 字典序最小的01字符串
例如,小U当前有一个字符串 01010,她最多可以进行 2 次相邻字符交换操作。通过这些操作,她可以将字符串调整为 00101,这是可以通过不超过2次操作得到的字典序最小的字符串。这类似于在每个位置选择最小可能的字符,使得整体字符串的字典序最小。小U拥有一个由0和1组成的字符串,她可以进行最多k次操作,每次操作可以交换相邻的两个字符。目标是通过这些操作,使得最终得到的字符串字典序最小。现在,小U想知道,经过最多k次操作后,能够得到的字典序最小的字符串是什么。
2025-01-09 14:24:28
601
原创 欧拉计划 Project Euler 46(哥德巴赫的另一个猜想) 题解
可以直接暴力,但是可能数字会很大,我们可以线性筛预处理素数然后判断降低复杂度,但是对于这个题来说其实答案是很小的,直接暴力即可。
2025-01-08 13:49:47
252
原创 欧拉计划 Project Euler 45(三角形数、五边形数和六边形数) 题解
与44一样,反解一下然后判断,然后我们从三角形数枚举然后判断是否是五边形数和六边形数即可。
2025-01-08 13:35:26
445
原创 欧拉计划 Project Euler 44(五边形数) 题解
给定一个数 $x$,判断它是否为五边形数,可以通过反解公式。然后直接预处理出前10000个五边形数字暴力找即可。如果满足上述条件,则。
2025-01-07 13:43:51
550
原创 欧拉计划 Project Euler 42 题解
先读取文件对文件做预处理 然后统计计算即可,用python方便点。这里给出python代码,注释很详细。
2025-01-05 12:47:28
193
原创 欧拉计划 Project Euler 35 题解
一个很自然的思路就是暴力找,遍历一百万之内的所有数,也可以先把一百万以内所有的素数筛出来然后从中取选。这里我使用的是暴力算法。
2024-12-30 13:30:04
289
原创 欧拉计划 Project Euler 31 题解
对于每种硬币,我们更新表格中所有金额从该硬币的面值到200便士的条目。对于每个金额 x,如果我们可以添加一个面值为 c 的硬币,那么组成金额 x 的方式数就应该增加组成金额 x−c 的方式数。设 dp[x] 表示组成 x 便士的方式数。我们的目标是计算 dp[200],即组成200便士的不同组合方式数。这是一个经典的动态规划问题。
2024-12-24 13:45:17
413
原创 欧拉计划 Project Euler 29 题解
的值会导致内存和计算时间上的巨大开销,尤其是当。会变得非常大,无法用常规的数据类型存储。最直接的想法肯定是暴力,要用到大数乘法。的范围较大时,直接计算和存储所有。
2024-12-21 12:55:49
1025
原创 欧拉计划 Project Euler 28 题解
现在,需要计算 1001×1001 的螺旋矩阵对角线之和。将所有层的对角线数字相加,再加上中心的。,因为它被重复计算了一次。
2024-12-20 13:51:50
944
原创 链表(带例题以及多种写法)
如果需要清空list中的所有元素,可以使用。定义一个一维数组a, a[i]的i就是节点的值而a[i]的值是下一个节点。的人再出圈,依次类推,直到所有的人都出圈,请输出依次出圈人的编号。在讲怎么用list写这道题之前先来学习一下list的用法。个人围成一圈,从第一个人开始报数,数到。容器的遍历可以通过迭代器完成,查找可以使用。个整数,按顺序输出每个出圈人的编号。这个是最简单的实现方式 也是最推荐的。的人出列,再由下一个人重新从。你可以通过不同的方式初始化一个。容器提供了多种插入元素的方法。
2024-12-16 16:46:17
994
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人