标签: number-theory

找到两点之间的最大距离

昨天,我出现在一次采访中.我陷入了其中一个问题,我在这里问的是同样的问题.

有一个给出的数组显示x轴上的点,有N个点.和M币也给了.

Remember N >= M
Run Code Online (Sandbox Code Playgroud)

您必须最大化任意两点之间的最小距离.

Example: Array : 1 3 6 12
         3 coins are given.
         If you put coins on 1, 3, 6 points Then distance between coins are : 2, 3 
         So it gives 2 as answer 
         But we can improve further
         If we put coins at 1, 6, 12 points.
         Then distances are 5, 6
         So correct answer is : 5
Run Code Online (Sandbox Code Playgroud)

请帮帮我,因为我完全陷入了这个问题.

algorithm recursion dynamic-programming greedy number-theory

5
推荐指数
1
解决办法
2323
查看次数

找到第一个有50个因子的三角数?

-----要求修改代码--------

问题:计算具有50个因子的快速三角系列号?

详细说明:让我们说有一系列

   1 : 1
   3 : 1+2
   6 : 1+2+3 
   10 : 1+2+3+4
   15 : 1+2+3+4+5
   21 : 1+2+3+4+5+6
   28 : 1+2+3+4+5+6+7
Run Code Online (Sandbox Code Playgroud)

这里1,3,6,10,15,21,28是三角形系列下的数字.

让我们看看数字的因素

    Number factors         Count
    1     : 1               1              
    3     : 1,3             2
    6     : 1,2,3,6         4
    10    : 1,2,5,10        4
    15    : 1,3,5,15        4
    21    : 1,3,7,21        4
    28    : 1,2,4,7,14,28   6
Run Code Online (Sandbox Code Playgroud)

这里6是第一个具有4个因子的三角形数字.即使10,15,21也有4个因素,但它们不是第1个.就像那样,让一个数字为2,其中2个因子为1,2个数字3相同,也有2个因子为1和3

但根据问题3,答案不是2,因为即使它快于3,2也不会进入三角系列号列表.

c# algorithm number-theory

5
推荐指数
2
解决办法
4191
查看次数

计算一组正整数的Frobenius数的算法

如果集合的数字的gcd为1,则存在集合的Frobenius数.给定一组具有最多10个元素的正整数,使得所有元素的gcd为1,我们如何计算集合的Frobenius数?

以下是原始问题的链接:https://icpcarchive.ecs.baylor.edu/external/62/6298.pdf Sylvester的公式可用于查找一组2个元素的Frobenius数.

algorithm diophantine number-theory coin-change

5
推荐指数
1
解决办法
1345
查看次数

添加如何在计算机中工作?

我正在观看有关计算机架构的视频,我想到了一个问题.添加和基本操作如何在计算机上运行?我的意思是,我知道2 + 2 = 4但我不知道为什么?我只知道,如果我将2个苹果添加到另外2个,那么我看到4,但是有可能证明这一点吗?

我的问题是,计算机如何知道最基本的2 + 2 = 4?我知道有些功能可以添加数字,但在基本级别如何执行添加?

我只想知道这一点,以便更好地了解计算机的工作方式,因为计算机执行的最基本和最常用的操作是总和(我相信)

theory math computer-science number-theory

5
推荐指数
1
解决办法
4832
查看次数

如何检查数字是否可以代表主要权力(第n个根是否为素数)

我正在尝试这个问题一段时间但一次又一次地得到错误的答案.数字可能非常大<= 2 ^ 2014. 22086. Prime Power Test

关于我的算法的说明:

  1. 对于给定的数字,我正在检查该数字是否可以表示为主要权力的形式.
  2. 因此,检查主要功率的最大限制是log n base 2.
  3. 最后问题减少到找到一个数字的第n个根,如果它是素数,我们有我们的答案,否则检查所有i直到log (n base 2)exit.
  4. 我已经使用了各种优化并测试了大量的测试用例,并且我的所有算法都给出了正确的答案
  5. 但是法官说错了答案.
  6. Spoj有另一个类似的问题,小约束n <= 10 ^ 18,我已经接受了Python和C++(c ++中的最佳解算器)

这是我的python代码请建议我,如果我做错了我不是很精通python所以我的算法有点冗长.提前致谢.

我的算法:

import math
import sys
import fractions
import random
import decimal
write = sys.stdout.write
def sieve(n):
    sqrtn = int(n**0.5)
    sieve = [True] * (n+1)
    sieve[0] = False
    sieve[1] = False
    for i in range(2, sqrtn+1):
        if sieve[i]:
            m = n//i - i
            sieve[i*i:n+1:i] = [False] * (m+1) …
Run Code Online (Sandbox Code Playgroud)

python algorithm primes number-theory nth-root

5
推荐指数
1
解决办法
1718
查看次数

数论算法.该细分市场上的大多数除数

我正在寻找一种有效的算法来解决以下问题.让d(n)表示正除数的数n,其中n为正整数.我们给了一些 1 <= a <= b <= 10^18 ,任务是找到最大值的d[a..b]和(可能我们需要更复杂的算法,这部分)找到最大化值的数字d.

前段时间我在免费访问中找到了以下代码:http://ideone.com/qvxPj

unsigned long long n, res;
int p, primes[] = {2, 3, 5, 7, 11, 13, 17, 19, 23, 29, 31, 37, 41, 43, 47, 51, 53, 59, 61, 67, 71};

unsigned long long mul(unsigned long long a, unsigned long long b){
    unsigned long long res = 0;

    while (b){
        if (b & 1LL) res = …
Run Code Online (Sandbox Code Playgroud)

c++ algorithm numbers number-theory

5
推荐指数
1
解决办法
183
查看次数

SPOJ PPATH,将给定的4位数素数转换为另一个4位数素数

在SPOJ问题PPATH中,我们给出了两个四位数的素数,我们必须通过一次改变一个数字,在最少步骤中将第一个素数转换为第二个素数,并且在每个步骤中数字应该是素数.如果素数不能以所述方式转换,我们必须输出'不可能'.

然而,已经接受了甚至不考虑不可能情况的问题的解决方案,这导致人们猜测每个四位数的素数可以以指定的方式转换成任何其他四位数的素数.我无法证明这一点.这是真的吗?我们怎样正式证明它?此外,n位素数是否有一般结果?

math number-theory

5
推荐指数
1
解决办法
115
查看次数

Prolog程序得到一个(整数)数作为两个整数平方的总和,为什么它不起作用?

我开始学习Prolog的,我想给定一个整数程序P给予整数AB这样P = A² + B².如果没有的价值AB满足这个方程,false应退还

例如:if P = 5,它应该给A = 1B = 2(或A = 2B = 1)因为1² + 2² = 5.

我以为这应该工作:

giveSum(P, A, B) :- integer(A), integer(B), integer(P), P is A*A + B*B.
Run Code Online (Sandbox Code Playgroud)

查询:

giveSum(5, A, B).
Run Code Online (Sandbox Code Playgroud)

但事实并非如此.我该怎么办?我对Prolog很新,所以我仍然犯了很多错误.

提前致谢!

numbers prolog number-theory clpfd logical-purity

5
推荐指数
1
解决办法
654
查看次数

确定线性不定方程的非负值解存在性的算法

我正在寻找一种方法来确定是否存在方程的解,例如: 3n1 + 4n2 + 5n3 = 456,其中n1,n2,n3是正整数.

或者更一般:是零或正整数n1,n2,n3 ......解决方程k1n1 + k2n2 + k3n3 ... = m其中k1,k2,k3 ......和m是已知的正整数.

我不需要找到解决方案 - 只是为了确定是否存在解决方案.

编辑:

关于这个算法的实际使用:

在通信库中,我想在处理消息之前根据其大小决定给定消息是否有效.例如:我知道消息包含零个或多个3字节元素,零个或多个4字节元素和零个或多个5个字节元素.我收到了456字节的消息,我想在进一步检查其内容之前确定其有效性.当然,消息的标题包含每种类型的元素数量,但我想通过传递类似的东西在通信库级别进行第一次检查pair<MsgType,vector<3,4,5>>.

algorithm math number-theory

4
推荐指数
1
解决办法
3995
查看次数

使用给定的随机数生成函数查找随机数生成器

这是一个面试问题:

给定在[1,5]中生成随机数的函数,我们需要使用此函数生成范围[1,9]中的随机数.我考虑了很多,但我无法写出一个满足ramdomness的等式.人们请回答.这可能在将来的某些采访中有所帮助.

random algorithm number-theory

4
推荐指数
1
解决办法
5847
查看次数