- iOS/Objective-C 元类和类别
- objective-c - -1001 错误,当 NSURLSession 通过 httpproxy 和/etc/hosts
- java - 使用网络类获取 url 地址
- ios - 推送通知中不播放声音
我已经读过What is an "external node" of a "magic" 3-gon ring?我已经解决了 90 岁以前的问题,但是这个 n-gon 的事情让我很困惑,因为我根本不明白这个问题。
所以我拿着这个戒指,我知道外圈是 4、5、6,因为它们在内圈之外。现在他说有八种解决方案。下面列出的八种解决方案没有太多解释。让我来
9 4,2,3; 5,3,1; 6,1,2
9 4,3,2; 6,2,1; 5,1,3
那么我们如何得出这两个解决方案呢?我知道 4、3、2 是直线,6、2、1 是直线,5、1、3 是直线,它们是顺时针方向的,所以第二个解决方案是有意义的。
问题
最佳答案
第一个不是逆时针方向。这是你从配置中得到的
4
\
2
/ \
1---3---5
/
6
顺时针方向,从外圈中的最小数字开始。
How do we arrive at 8 solutions. Is it just randomly picking three numbers? What exactly does it mean to solve a "N-gon"?
对于 N 边形,您有一个内部 N 边形,并且对于 N 边形的每一侧都有一个尖峰,例如
X
|
X---X---X
| |
X---X---X
|
X
这样尖刺连同内N边的边连成一组三处。 N 边形的“解决方案”是一种配置,您可以在其中放置从 1 到 2*N 的数字,以便 N 组中的每组总和为相同的值。
尖刺末端的地方每组只出现一组,内部 N 边形的顶点上的地方分成两组。所以所有组的总和为
N
∑ k + ∑{ numbers on vertices }
k=1
内N边形顶点数之和至少为1 + 2 + ... + N = N*(N+1)/2
至多为(N+1) + (N+2) + ... + 2*N = N² + N*(N+1)/2 = N*(3*N+1)/2
。
因此所有组的总和介于
N*(2*N+1) + N*(N+1)/2 = N*(5*N+3)/2
和
N*(2*N+1) + N*(3*N+1)/2 = N*(7*N+3)/2
包含,并且每组的总和必须介于
(5*N+3)/2
和
(7*N+3)/2
对于三角形 - N = 3
- 边界是 (5*3+3)/2 = 9
和 (7*3+3)/2 = 12
。对于正方形 - N = 4
- 边界是 (5*4+3)/2 = 11.5
和 (7*4+3)/2 = 15.5
- 因为总和必须是整数,所以可能的总和是 12, 13, 14, 15
。
回到三角形,如果每组的和是9,则和的和是27,顶点上的数的和一定是27 - (1+2+3+4 +5+6) = 27 - 21 = 6 = 1+2+3
,所以顶点上的数字是 1、2 和 3。
要使总和为 9,连接 1 和 2 的一侧尖峰末端的值必须为 6,对于连接 1 和 3 的一侧,尖峰值必须为 5,连接一侧的尖峰值必须为 4 2 和 3。
如果您从尖峰上的最小值开始 - 4 - 您知道您必须将 2 和 3 放在尖峰突出的一侧的顶点上。有两种方法可以在那里排列两个数字,从而得出和 9 的两个解决方案。
如果每组的总和为10,则总和为30,顶点上的数字总和必须为9。要将9表示为从1到6的三个不同数字的总和,你有可能性
1 + 2 + 6
1 + 3 + 5
2 + 3 + 4
对于第一组,您有一侧连接 1 和 2,因此您需要在尖峰末端加一个 7 才能形成 10 - 无解。
对于第三组,两个数字的最小和是 5,但是 5+6 = 11 > 10
,所以 6 没有位置 - 无解。
对于第二组,边的和是
1 + 3 = 4 -- 6 on the spike
1 + 5 = 6 -- 4 on the spike
3 + 5 = 8 -- 2 on the spike
并且你有两种方法来排列 3 和 5,这样组要么是 2-3-5
要么是 2-5-3
,剩下的又是.
和数 11 和 12 的解可以类似地获得,或者通过将和数 9 的解中的 k
替换为 7-k
来获得。 10.
要解决问题,你现在必须找出
(并使用铅笔和纸来获得最快的解决方案。)
关于algorithm - 欧拉计划 - 68,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13052165/
在编程中,我只使用整数。不过这次要进行一些计算。我需要计算Euler-Mascheroni Constant γ .最多 n 位小数。{虽然 n ∈ [30, 150]对我来说已经足够了。 [x] =
有人可以帮忙处理这段代码吗?它应该得到第 10,001 个素数。我知道 is_prime 函数可以测试一个数字是否为素数,因为我成功地利用此代码解决了上一个问题。现在我只是尝试在 for 循环中调用它
我发现了几个与这个问题相关的主题,我只是想知道为什么我的代码返回不正确的数据。所以我们必须找到第一个除数超过 500 的三角形数。详情可在此处找到:http://projecteuler.net/pr
#include int main(void) { char *num = "73167176531330624919225119674426574742355349194934"
我正在尝试投影欧拉问题 8,但是我遇到了问题。1000位数字中相邻四位的乘积最大为9×9×8×9=5832。 731671765313306249192251196744265747423553491
这是针对 Project Euler 19 的。我几乎想出了代码,但由于某种原因我的输出是 +1。 #include #define SIZE 12 int main(void) {
int main(void) { int n, div, a, b; double phi; printf("Enter n:\n"); if (scanf("%d", &n) < 1
欧拉问题: 如果我们列出所有 10 以下的自然数,它们是 3 或 5 的倍数,我们得到 3、5、6 和 9。这些倍数的和是 23。 求 1000 以下的所有 3 或 5 的倍数之和。 我试图从 pro
我知道这可能会被否决,但我真的很沮丧 24 小时,查看其他 Euler 3 线程并没有帮助我解决这个问题。有人可以帮助我的代码吗?我认为我非常接近。 function is_prime(num) {
我卡在了Question 7欧拉计划。我有这段代码。 #include int main (void) { int contador = 0, i, n, variavel = 0;
我正在尝试使用 sympy 的 idiff 函数对某些表达式执行隐式微分。 在本例中,rdot 为 dr/ds,其中 s 是仿射参数。我想对相同的仿射参数对 Ltdot、Lphidot 和 Lrdot
我正在尝试解决我的第一个项目 Euler 问题,只是为了玩 Rust,但被困在似乎需要极长计算时间的问题上 问题: https://projecteuler.net/problem=757 我想出了这
我正在学习C编程,并制定了以下算法来解决这个问题: 代码实际上有效,但最初循环只有 10 次重复(rep int main() { float p; //the power for e
我之前曾尝试暴力破解它,但没有成功。这是我的递归尝试#2(第一次使用递归方法)。请帮忙! 发生的情况是这样的:代码运行良好,数字较小,但是当我们达到一百万时,代码就会运行,并且什么也不会发生。在 Ec
Given a number find the 5 digits before the trailing 0. 9! = 362880 so f(9)=36288 10! = 3628800 so f
我是一名优秀的程序员,十分优秀!