Questions tagged «number-theory»

数论涉及数的性质和关系,主要是正整数。

11
环原子多项式
背景(跳至定义) 欧拉证明了关于复数的美丽定理:e ix = cos(x)+ i sin(x)。 这使得de Moivre定理易于证明: (e ix)n = e i(nx) (cos(x)+ i sin(x))n = cos(nx)+ i sin(nx) 我们可以使用二维欧几里得平面绘制复数,其中水平轴代表实部,垂直轴代表虚部。这样,(3,4)将对应于复数3 + 4i。 如果您熟悉极坐标,则极坐标中的(3,4)将为(5,arctan(4/3))。第一个数字r是点到原点的距离;第二个数字θ是从x轴正方向到该点逆时针测量的角度。结果,3 = rcosθ和4 = rsinθ。因此,我们可以写成3 + 4i为rcosθ + risinθ = r(cosθ+ isinθ)= reiθ。 让我们求解复数方程z n = 1,其中n是一个正整数。 我们令z = reiθ。然后,Z Ñ = R Ñ Ë inθ。z …

5
最快的可推算整数分解器
任务是找到一个复合数的重要因素。 在不超过140字节长的情况下,编写代码以尽可能快地找到复合数字的重要因素。输出应该只是您找到的因素。 您的代码可以采用任何方便的方式进行输入和输出,包括例如作为函数的参数。 列出所有因素的测试用例(您只需要输出一个) 187: 11 17 1679: 23 73 14369648346682547857: 1500450271 9576890767 34747575467581863011: 3628273133 9576890767 52634041113150420921061348357: 2860486313 5463458053 3367900313 82312263010898855308580978867: 264575131106459 311111111111113 205255454905325730631914319249: 2860486313 71755440315342536873 1233457775854251160763811229216063007: 1110111110111 1000000000063 1111111999999 1751952685614616185916001760791655006749: 36413321723440003717 48112959837082048697 在以下困难的测试案例中,我不会给您打分,这可能是您感兴趣的测试: 513231721363284898797712130584280850383: 40206835204840513073 12764787846358441471 得分了 您的分数是将以上所有测试用例分解的总时间,每个分解失败的惩罚为10分钟(均四舍五入到最接近的秒数)。您的代码也应该适用于其他整数,这不应该只是硬编码这些答案。 10分钟后,我将停止您的代码。 如果两个人获得相同的分数,则第一个答案将获胜。 限制条件 您的代码不能使用任何执行整数分解的内置函数或库函数。您可以假设输入少于256位。所有输入数字将是复合的。 我将如何计时? 我实际上将time ./myprog在Ubuntu系统上运行以进行计时,因此也请提供一个完整的程序供我运行,其中包括您定义的任何功能。 编译语言说明 在我的机器上,编译时间不得超过1分钟。 真的有可能吗? 如果您忽略空间限制,则可以在我的计算机上使用纯Python代码+ …

30
消失的元素
给定一个字符串S和一个索引列表X,S通过删除每个索引处的元素来进行修改,并将S结果作为的新值S。 例如,给定S = 'codegolf'和X = [1, 4, 4, 0, 2], 0 1 2 3 4 5 6 7 | c o d e g o l f | Remove 1 c d e g o l f | Remove 4 c d e g l f | Remove 4 c …
17 code-golf  string  array-manipulation  code-golf  string  ascii-art  code-golf  number  sequence  pi  code-golf  number  array-manipulation  code-golf  string  ascii-art  code-golf  math  number  game  code-golf  math  sequence  polynomials  recursion  code-golf  math  number  sequence  number-theory  code-golf  permutations  balanced-string  code-golf  string  ascii-art  integer  code-golf  decision-problem  hexagonal-grid  code-golf  ascii-art  kolmogorov-complexity  code-golf  number  code-golf  matrix  binary-matrix  code-golf  math  statistics  code-golf  string  polyglot  code-golf  random  lost  code-golf  date  path-finding  code-golf  string  code-golf  math  number  arithmetic  number-theory  code-golf  tetris  binary-matrix  code-golf  array-manipulation  sorting  code-golf  number  code-golf  array-manipulation  rubiks-cube  cubically  code-golf  grid  optimization  code-golf  math  function  code-golf  string  quine  code-golf  ascii-art  grid  code-golf  decision-problem  grid  simulation  code-golf  math  sequence  code-golf  path-finding  code-golf  ascii-art  grid  simulation  code-golf  number  whitespace  code-golf  sequence  code-golf  sequence  code-golf  sequence  integer  code-golf  math  game  code-golf  internet  stack-exchange-api  code-golf  sequence  code-golf  internet  stack-exchange-api  code-golf  math  factoring  code-challenge  sequence  polyglot  rosetta-stone  code-golf  string  browser  code-golf  date  code-golf  base-conversion  code-challenge  cops-and-robbers  hello-world  code-golf  cops-and-robbers  hello-world 

8
在Copeland–Erdős常数中查找数字
背景 所述克柏兰-尔杜斯常数是“0”的串联 以10为底的质数表示法。它的值是 0.23571113171923293137414... 另请参阅OEIS A033308。 Copeland和Erdős证明这是一个正常数。这意味着可以在Copeland-Erdős常数的十进制扩展的某个点上找到每个自然数。 挑战 给定一个正整数,将其以10为基数(不带前导零)并输出其在Copeland-Erdős常数的十进制数字序列中的第一个出现的索引。 允许使用任何合理的输入和输出格式,但输入和输出应以10为底。在这种情况下,可以假定不包含前导零。 从常量的第一个小数开始,输出可以是从0开始或从1开始。 实际结果可能会受到数据类型,内存或计算能力的限制,因此该程序在某些测试案例中可能会失败。但: 理论上,任何输入都应该工作(即不考虑这些限制)。 实际上,它至少应在前四个案例中起作用,并且每个案例的结果都应在不到一分钟的时间内得出。 测试用例 输出在此基于1给出。 13 --> 7 # Any prime is of course easy to find 997 --> 44 # ... and seems to always appear at a position less than itself 999 --> 1013 # Of course …

12
沙米尔的秘密分享
给定n(玩家数量),t(阈值)和s(秘密),输出n由Shamir的秘密共享算法生成的秘密。 算法 出于这一挑战的目的,将在GF(251)(size的有限域251,也称为整数mod 251)中进行计算。通常,将选择该字段,使其大小比的素数大得多n。为了简化挑战,字段大小将保持不变。251选择它是因为它是8位无符号整数可以表示的最大质数。 生成t-1(包括)范围内的随机整数[0, 250]。标明这些一个1通过一个T-1 。 构造一个t-1使用次多项式s为恒定值,并从步骤1中的功率的系数的随机整数x:F(X)= S + X *一个1 + X 2 * A 2 + ... + X 叔1 * a t-1。 (含)范围内(f(z) mod 251)每个输出。z[1, n] 参考实施 #!/usr/bin/env python from __future__ import print_function import random import sys # Shamir's Secret Sharing algorithm # Input is taken …
17 code-golf  number-theory  random  cryptography  polynomials  code-golf  number  code-golf  math  number  sequence  code-golf  quine  code-generation  code-golf  arithmetic  set-theory  code-golf  sequence  code-golf  code-golf  string  math  fastest-code  optimization  code-golf  code-golf  internet  stack-exchange-api  code-golf  array-manipulation  code-golf  string  internet  string  code-challenge  internet  test-battery  code-golf  math  pi  code-golf  arithmetic  primes  code-golf  array-manipulation  code-golf  string  code-golf  string  palindrome  code-golf  sequence  number-theory  fastest-algorithm  code-golf  math  number  base-conversion  code-golf  number-theory  sorting  subsequence  search  code-golf  permutations  code-challenge  popularity-contest  code-generation 

20
反向奇数运行
启示。 任务 在2到2 15个非负整数的给定列表中对奇数进行反向运算。 例子 0 1 →交通 0 1 1 3 →交通 3 1 1 2 3 →交通 1 2 3 1 3 2 →交通 3 1 2 10 7 9 6 8 9 →交通 10 9 7 6 8 9 23 12 32 23 25 27 →交通 23 …

3
查找字符串中的模式
在这种挑战下,您的任务是找到具有给定结构的子字符串。 输入项 您的输入应为两个非空的字母数字字符串,一个模式 p和一个text t。这个想法是,的每个字符都p代表一个连续的非空子字符串,t该子字符串彼此相邻出现,并p表示它们的串联。相同的字符对应于相同的子字符串。例如,模式aa代表任何非空正方形(通过将较短的字符串与其自身连接而获得的字符串)。因此,模式aa可以匹配子字符串byebye,并且每次a匹配bye。 输出量 如果文本t包含p匹配的子字符串,则您的输出应为该子字符串,并:在与的字符相对应的字符串之间插入冒号p。例如,如果我们有t = byebyenow和p = aa,那么bye:bye它是可接受的输出。匹配子字符串可能有多个选择,但是您只能输出其中之一。 如果t不包含匹配的子字符串,则您的输出将是悲伤的表情:(。 规则和说明 的不同字符p可以对应相同的子字符串,因此p = aba可以匹配字符串AAA。请注意,这些字符必须对应于非空字符串;特别是,如果p长于t,则输出必须为:(。 您可以编写完整的程序或函数,还可以更改两个输入的顺序。最低字节数获胜,并且不允许出现标准漏洞。 测试用例 以格式给出pattern text -> output。注意,可能存在其他可接受的输出。 a Not -> N aa Not -> :( abcd Not -> :( aaa rerere -> re:re:re xx ABAAAB -> A:A MMM ABABBAABBAABBA -> ABBA:ABBA:ABBA x33x 10100110011001 -> 10:1001:1001:10 …
17 code-golf  string  code-golf  ascii-art  geometry  code-golf  ascii-art  code-golf  sequence  stack  code-challenge  number  sequence  answer-chaining  code-golf  code-challenge  math  combinatorics  binary-matrix  code-golf  number  code-golf  cryptography  bitwise  code-golf  sudoku  code-golf  brainfuck  metagolf  code-golf  probability-theory  number-theory  primes  fewest-operations  factoring  golf-cpu  code-golf  restricted-source  code-golf  graphical-output  sequence  binary  code-golf  tips  c#  code-golf  geometry  code-golf  graphical-output  fractal  code-golf  number  sequence  code-golf  number  array-manipulation  popularity-contest  game  board-game  code-golf  puzzle-solver  grid  code-golf  ascii-art  geometry  grid  tiling  code-golf  ascii-art  whitespace  balanced-string  code-golf  card-games  king-of-the-hill  javascript  code-golf  whitespace  balanced-string  code-golf  code-golf  math  abstract-algebra  code-golf  java  code-golf  interpreter  stack  code-golf  base-conversion  code-golf  tips  code-golf  ascii-art  geometry  brainfuck  metagolf  code-challenge  math  quine  code-generation  code-golf  number  kolmogorov-complexity  arithmetic  expression-building  code-golf  string  code-golf  quine  popularity-contest  code-golf  base-conversion  code-challenge  image-processing  code-golf  conversion  coding-theory 

10
升序矩阵
“升序矩阵”是整数(包括0)的无限矩阵,其中任何元素是最小的可用元素,之前尚未在相应的行和列上使用: | 1 2 3 4 5 6 ... --+---------------- 1 | 0 1 2 3 4 5 ... 2 | 1 0 3 2 5 4 ... 3 | 2 3 0 1 6 7 ... 4 | 3 2 1 0 7 6 ... 5 | 4 5 …
17 code-golf  math  matrix  programming-puzzle  code-golf  music  code-challenge  programming-puzzle  code-golf  fastest-code  code-golf  number  game  code-golf  combinatorics  code-golf  math  sequence  restricted-complexity  code-golf  number  random  code-golf  array-manipulation  code-golf  math  matrix  code-golf  number  sequence  counting  code-golf  math  number  sequence  popularity-contest  number  sequence  code-golf  music  code-golf  number  code-golf  ascii-art  arithmetic  code-golf  code-golf  number  code-golf  code-challenge  array-manipulation  code-golf  grammars  code-challenge  polyglot  code-golf  game  math  python  programming-puzzle  code-challenge  king-of-the-hill  code-challenge  fastest-code  primes  number-theory  number-theory  primes  fastest-code  factoring  popularity-contest  compile-time  code-golf  math 

8
平方数数字密度
我自己发明的数字的平方数字位数密度(SNDD)是连续数字中发现的平方数字计数与数字长度的比率。例如,169是一个3位数字,包含4个正方形数字-1、9、16、169-,因此正方形数字的数字密度为4/3或1.33。4位数字1444具有6个正方形-1、4、4、4、144、1444-因此比率为6/4或1.5。注意,在前面的示例中,正方形可以重复。另外,不允许441,因为无法在数字1444内连续找到它。 您的任务是编写一个程序,该程序在给定范围A-B(含)范围内搜索平方位数最高的数字。您的程序应遵守以下规范: 输入A,B的范围为1到1,000,000,000(10亿)。例:sndd 50 1000 结果返回SNDD最大的数字。如果是平局,则返回最小的数字。 0不会以任何形式(0、00、000等)算作正方形。以0开头的正方形(如049或0049)也不算。 注意,整数不必一定是平方数。 例子: sndd 14000 15000 Output: 14441 sndd 300 500 Output: 441 奖金:SNDD最大的数字是1到1,000,000,000?您能否证明这是最大的可能性,还是更大范围的更大? 当前分数: 红宝石:142 Windows PowerShell:153 斯卡拉:222 蟒蛇:245 现在已经选择了答案,这是我在JavaScript中的(unolfed)参考实现:http : //jsfiddle.net/ywc25/2/

23
查找列表是否为ABC三重
如果三个正整数A,B,C是互质的,则它们是ABC三元组,且A <B且满足以下关系:A + B = C 例子 : 1, 8, 9 是ABC三元组,因为它们是互质的,1 <8和1 + 8 = 9 6, 8, 14 不是因为他们不是互质素 7, 5, 12 不是因为7> 5 您可以查看此Frits Beukers 2005演示文稿,以获取有关ABC-三元组的更多详细信息。 输入输出 三个整数,十进制写成。可能是单独的值或列表。无论三个整数是否是ABC三元组,输出都必须为真实/虚假值。 注意:重要的是要遵守列表中的整数顺序,例如:1, 8, 9不被视为与同一列表9, 1, 8或任何其他组合。因此,第一个是ABC三元组,第二个不是。 因此,A是列表的第一个元素,B是第二个元素,C是第三个元素。 测试用例 以下每个列表应输出真实值 [1, 8, 9] [2, 3, 5] [2, 6436341, 6436343] [4, 121, …

16
我有几个分区?
正整数的分区号定义为可将其表示为正整数之和的方式数。换句话说,它具有整数分区的数量。例如,数字4具有以下分区: [[1,1,1,1],[1,1,2],[1,3],[2,2],[4]] 因此,它具有5分区。这是OEIS A000041。 任务 给定正整数N,确定其分区号。 所有标准规则均适用。 输入和输出可以通过任何合理的方式进行处理。 这是code-golf,因此以字节为单位的最短代码获胜。 测试用例 输入| 输出量 1 | 1个 2 | 2 3 | 3 4 | 5 5 | 7 6 | 11 7 | 15 8 | 22 9 | 30 10 | 42

3
Miller-Rabin强伪素数
给定一个非负整数N,将最小的奇数正整数输出为所有第一个N素数基数的强伪质数。 这是OEIS序列A014233。 测试用例(一索引) 1 2047 2 1373653 3 25326001 4 3215031751 5 2152302898747 6 3474749660383 7 341550071728321 8 341550071728321 9 3825123056546413051 10 3825123056546413051 11 3825123056546413051 12 318665857834031151167461 13 3317044064679887385961981 的测试用例N > 13不可用,因为尚未找到这些值。如果您设法按顺序查找下一个术语,请务必将其提交给OEIS! 规则 您可以选择采用N零索引或一索引的值。 您的解决方案只适用于语言整数范围内的可表示值是可接受的(最多适用N = 12于无符号64位整数),但是理论上您的解决方案必须在假设您的语言支持任意长度整数的情况下适用于任何输入。 背景 任何正偶数x可以写成如下形式x = d*2^s,其中d为奇数。d并且s可以通过反复分割计算n由2,直到商是通过2不再整除d是最终商,并且s是的2所划分的数目n。 如果一个正整数n是质数,那么费马小定理说明: 在任何有限域 Z/pZ(其中p有一些素数)中,的唯一平方根1是1和-1(或等价地为1和p-1)。 我们可以使用这三个事实来证明以下两个语句之一对于素数必须为true n(其中d*2^s = n-1和r是中的一些整数[0, s)): 的米勒罗宾素性测试操作通过测试上述权利要求的对换句:如果有一个基座a,使得上述两个条件都为假,则n不是素数。该基地a被称为见证人。 …

13
Trithagorean三元组
甲毕达哥拉斯三重是正整数方程的解: Trithagorean三元组是方程的正整数解: 其中Δn找到第n个三角数。所有Trithagorean三元组也都是该方程式的解: 任务 给定一个正整数c,输出所有正整数对,a,b以使a第bth个三角形数和第th个三角形数之和成为第th c个三角形数。您可以以最方便的任何方式输出对。您每对仅输出一次。 这是代码高尔夫球 测试用例 2: [] 3: [(2, 2)] 21: [(17, 12), (20, 6)] 23: [(18, 14), (20, 11), (21, 9)] 78: [(56, 54), (62, 47), (69, 36), (75, 21), (77, 12)] 153: [(111, 105), (122, 92), (132, 77), (141, 59), (143, 54), (147, 42), (152, …

7
一1,二1,一2一1
挑战: 创建一个程序,该程序接受一个非零正整数的输入,并按照下面描述的顺序输出下四个数字。 注意:不需要检查输入是否实际上是一个非零的正整数 顺序: 此序列中的每个数字(除第一个数字(输入数字)外)均应由n个数字组成,其中n是偶数。如果我们将数字分为n / 2对,则每对数字的第一个数字应为第二个数字在前一个数字中出现的次数 直观说明: 考虑此示例“序列启动器”或输入序列中6577 的下一个数字应如下所示,161527 因为输入具有1个“ 6”,1个“ 5”和2个“ 7”。 如果输入的位数太多(单个位数超过9个),您将无法获得正确的输出。 示例:111111111111(12个1) 序列中的下一个数字必须描述12个1。因此,我们将其分为9 1和3 1(总和9 + 3 = 12) 下一个数字:9131 您应该对输入进行4次迭代,然后将其输出(返回一个包含4个整数的列表/数组,或者通过用空格分隔它们来输出它,也可以使用换行符) “数字可以用很多方式写,我怎么写?” : 如果考虑到这一点,示例输入6577也可以写为271516(两个7,一个5,一个六个)。但是,这是无效的输出。您应该从左到右迭代该数字。因此为161527。如果7657您要迭代7的数量,则依次迭代6的数量和5的数量,这样有效的输出将是271615 I / O示例: 输入:75 输出:1715 211715 12311715 4112131715 输入:1 输出:11 21 1211 3112 输入:111111111111(12 1's) 输出:9131 192113 31191213 23411912 这与“说您看到的内容”问题不同,因为序列不同:https ://oeis.org/A005150 <-此返回的数字是这样的:输入:1211输出:111221 …

15
前x个素数中的加法素数
附加质数的定义: 其中恰好有2除数的数称为素数。 质数及其位数之和也是质数称为加数质数 任务: 给定一个整数x,计算第一个x素数中的所有加法素数,同时2考虑第一个素数和加法素数。数字以10为基数表示。 规则: 输出由第一个x素数中的所有加法素数组成 0 < x < 151,针对这一挑战,出于功能目的 由于加性质数均为整数,因此不允许使用小数(例如:您应输出2,而不是2.0),并且它们不得显示为小数。 例子: 10 -> 2 3 5 7 11 23 29 说明: 前10个素数是2 3 5 7 11 13 17 19 23 29,并且仅2 3 5 7 11 23 29具有它们的数位素数之和,分别是2,3,5,7,2,5,11,所以它们是加法素数 根据的说明example 1,其他测试用例可能是: 2 -> 2 3 25 -> 2 3 …

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.