我目前正在尝试找出一个目标 数可以表示为两个或多个连续奇数之和的次数。我有代码可以在这里找到最长的连续赔率序列:
public class consecutiveOdd {
static int target = 1000000;
public static void main(String[] args){
int longestVariation = -1;
int totalVariations = 0;
for (int k = 1;; k++) {
int i = target / k - k + 1;
if (i <= 0) {
break;
}
// Check if calculated i, can be the start of 'odd' sequence.
if (target % k == 0 && i % 2 == 1) {
longestVariation = k;
totalVariations += 1;
}
}
System.out.println(longestVariation);
System.out.println(totalVariations);
}
}
虽然我不确定它是否确定了正确的数量变化。我忽略了什么吗?
最好的, 奥特曼
最佳答案
不是真正的答案,但它让我想起了 Piaget 的守恒试验:
23^2 - 22^2
☯☯☯☯☯☯☯☯☯☯☯☯☯☯☯☯☯☯☯☯☯☯☯
☯
☯
☯
☯
☯
☯
☯
☯
☯
☯
☯
☯
☯
☯
☯
☯
☯
☯
☯
☯
☯
☯
哪张图有更多弹珠?
7^2 - (6^2 + 6^2-5^2 + 5^2-4^2 + 4^2-3^2 + 3^2) - 2^2
☯☯☯☯☯☯☯
☯☯☯☯☯☯☯
☯☯☯☯☯☯☯
☯☯☯☯☯☯☯
☯☯☯☯☯☯☯
☯☯☯☯☯
☯☯☯☯☯
9^2 - (8^2 + 8^2-7^2 + 7^2) - 6^2
☯☯☯☯☯☯☯☯☯
☯☯☯☯☯☯☯☯☯
☯☯☯☯☯☯☯☯☯
☯☯☯
☯☯☯
☯☯☯
☯☯☯
☯☯☯
☯☯☯
顺便说一句,任何完美正方形的最长连续奇数分区总是以 1
开头,在我们的绘图方法中,可以将其视为 (x² - 0²)
:
4 = 1 + 3
9 = 1 + 3 + 5
16 = 1 + 3 + 5 + 7
...etc.
关于java - 计算连续的奇数变化,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33129392/