我试图解决这个问题:“2520是最小的数字,可以被1到10的每个数字除,没有任何余数。
可以被1到20的所有数字整除的最小正数是多少?"
请不要告诉我答案,我真的很想自己解决。我只需要一个关于问题数学方面的建议。问题是每个周期添加一个不是一个好主意,因为这个过程太慢了。或者变量类型不长的问题?
我试图得到(1到10)和(1到17)之间所有数字的等分数,该算法运行良好。
int in_num = 1;
int score = 0;
public void calculate() {
while (true) {
score = 0;
for (int x = 1; x < 21; x++) {
if ((in_num%x) == 0) {
score++;
}
}
System.out.println("Number " + in_num + " has " + score );
if (score == 20) {
System.out.println(in_num);
break;
}
in_num++;
}
我期望得到特定的整数,但得到无限循环。
由于int(in_num)范围超过了其长度,因此得到了一个无限循环;将int类型替换为Long(大于int的值),您将不会得到任何无限循环,您将获得输出。
两个数字x和y的最小公倍数是xy/GCD(x,y),其中GCD计算最大公约数。
您可以使用欧几里得算法或二进制GCD算法轻松实现GCD:https://en.wikipedia.org/wiki/Greatest_common_divisor
算法如下:
result = 1;
for (x = 20; x > 0; --x)
result *= (x/GCD(x,result));
当然,这也适用于其他数字。如果你真的不在乎,那么你可以打印232792560
这还不够吗?
将1到20之间的每个素数相乘得到这个数!用16代替2,用9代替3。
Long number = 2 ^ 4 * 3 ^ 2 * 5 * 7 * 11 * 13 * 17 * 19L;
System.out.println(number);
详细答案:
我们需要找到每一个小于20的素数。之后,对于每个素数,我们必须计算出素数在小于20的情况下可以指数化的数。
例如,如果我们将2自身乘以四倍,它将保持在20(16)以下。但是如果我们计算2到5,它将是32,大于20。
我们将对每一个其他质数做同样的事情。通过这种计算,实际答案将是这样的:
java prettyprint-override">Long number = 2 ^ 4 * 3 ^ 2 * 5 ^ 1 * 7 ^ 1 * 11 ^ 1 * 13 ^ 1 * 17 ^ 1 * 19L ^ 1;
我做这个迭代是为了对DataFrame的每个值执行不同的函数: 作为xxx一个2列数据帧
我使用以下行对Sqlite查询的行进行循环。 当行数大约为15000时,需要很长时间。空的块需要大约4秒,而有一些代码的
我有很多图像在绘制,我希望放入一个数组。手动将它们放入数组会花费太长的时间和代码。我想知道是否有一种方法来循环,如下所示:
除了把它们全部输入外,还有没有更好的方法在字符串中列出它们?
问题内容: 我正在使用既包含数字又包含字母数字或仅包含数字但不仅仅包含字母的字符串。为了测试错误匹配,我需要检查字符串是否至少包含一位数字,如果没有,则输出错误消息。我一直在使用以下代码: 有没有更Python化或更简单的方法可以做到这一点?另外,我不能仅检查字符串是否为字母数字,因为字符串可能包含各种符号(’-‘,空格等)。 问题答案: 这是正则表达式仅此而已的地方之一: 小样: 您可以使用@W
除了把它们全部输入外,还有没有更好的方法在字符串中列出它们?