Questions tagged «number-theory»

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

13
生成键盘友好号码
最常见的计算机键盘布局具有十进制数字键 1234567890 沿着字母键上方的顶部运行。 设一个十进制数字的邻域为它自己的数字键和左,右数字键(如果存在)的一组数字。 例如,0的邻域是{0, 9},5的邻域是{4, 5, 6}。 现在,将一个键盘友好数字定义为一个正整数(十进制形式,不带前导零),可以在上面的布局中键入该数字,以使第一个数字之后的数字中的每个连续数字都位于前一个数字的附近。 所有一位数字(1-9)都很容易键盘操作。 诸如22321这样的数字是键盘友好的,因为每个数字(不包括第一个数字)都在该数字的附近。 诸如1245之类的数字对键盘不友好,因为4不在2附近(反之亦然)。 诸如109之类的数字不适合键盘输入,因为0不在1附近。其末端不循环。 通过按最小到最大的顺序排列键盘友好数字,我们可以创建一个整数序列。 这是键盘友好数字序列的前200个术语: N KFN(N) 1 1 2 2 3 3 4 4 5 5 6 6 7 7 8 8 9 9 10 11 11 12 12 21 13 22 14 23 15 32 16 33 17 …

30
聪明人的海市age楼
从前,我在阅读有关Quora的问题/答案 真的有没有计算机科学学位的程序员无法通过FizzBu​​zz测试 此代码是显而易见的答案 for i in range(1, 100): if i % 3 == 0 and i % 5 == 0: print "FizzBuzz" elif i % 3 == 0: print "Fizz" elif i % 5 == 0: print "Buzz" else: print i 当然,FizzBu​​zz已经被打死了,但这并不是这个问题的实质。您会在评论中看到有人提到该答案很不错,因为很容易添加额外条件,例如将“ Jazz”打印为4的倍数。(我不同意。扩展此方案需要O(2 ** n )代码行。) 您的挑战是编写由同行判断的最漂亮的FizzJazzBuzz版本。 选民需要考虑的一些事项: 干 除法/模运算的效率 …
29 popularity-contest  code-challenge  word  popularity-contest  string  grid  language-design  code-golf  source-layout  math  fastest-algorithm  assembly  code-golf  json  code-golf  arithmetic  array-manipulation  code-golf  ascii-art  code-golf  crossword  code-golf  string  restricted-complexity  code-golf  ascii-art  kolmogorov-complexity  code-golf  string  decision-problem  balanced-string  syntax  code-golf  grid  puzzle-solver  hexagonal-grid  code-golf  math  number  sequence  code-golf  string  decision-problem  code-golf  cryptography  king-of-the-hill  code-challenge  fastest-code  code-golf  number  code-golf  code-golf  string  code-golf  cryptography  king-of-the-hill  java  code-golf  number-theory  base-conversion  code-golf  code-golf  array-manipulation  code-golf  array-manipulation  sorting  code-challenge  restricted-source  quine  code-golf  tips  python  king-of-the-hill  code-golf  source-layout  fractal  code-golf  tips  game  king-of-the-hill  path-finding  grid  code-golf  kolmogorov-complexity  natural-language  code-golf  tips  python  code-golf  number  arithmetic  sequence  array-manipulation  code-golf  number  combinatorics  random  integer-partitions  code-golf  string  code-golf  vim  comment  code-golf  combinatorics  counting  code-challenge  rosetta-stone  code-golf  combinatorics  sequence  subsequence  code-golf  code-challenge  restricted-source  primes  printable-ascii  popularity-contest  graphical-output  image-processing 

26
佩尔方程的基本解
给定一些非整数的正整数,找到相关的Pell方程的基本解ññn(x ,y)(X,ÿ)(x,y) X2- ñ ⋅ ÿ2= 1X2-ñ⋅ÿ2=1个x^2 - n\cdot y^2 = 1 细节 基本是一对整数满足等式,其中最小且为正。(总有平凡的解未被计算。)(x ,y)(X,ÿ)(x,y)X ,ÿX,ÿx,yXXx(x ,y)= (1 ,0 )(X,ÿ)=(1个,0)(x,y)=(1,0) 您可以假设不是正方形。ññn 例子 n x y 1 - - 2 3 2 3 2 1 4 - - 5 9 4 6 5 2 7 8 3 8 3 1 9 …

8
最小的看不见的,但没有共享数字!
挑战 在PPCG,我们确实喜欢我们的序列,所以这里又很有趣。 让我们定义a(n)为最小的非负整数,X这不等于任何a(k)(0 < k < n),并a(n-1)和X不共享任何十进制数字。a(0) = 0 给定一个输入n > 0,输出这样a(n)。 例如,对于input n = 13,我们有a(13) = 20,因为a(12) = 11和20是最小的非负整数,但我们尚未看到它与不共享任何十进制数字11。 序列 这是让您入门的前20个学期。这是OEIS上的序列A067581。 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 22, 11, 20, 13, 24, 15, 23, 14, 25 规则 可以假定输入和输出适合您语言的本机整数类型。 输入和输出可以任何方便的格式给出。 您可以选择0索引(例如我在此处的示例),也可以选择1索引进行提交。请说明您在做什么。 完整的程序或功能都是可以接受的。如果是函数,则可以返回输出而不是打印输出。 如果可能,请提供一个在线测试环境的链接,以便其他人可以尝试您的代码! 禁止出现标准漏洞。 这是代码高尔夫球,因此所有常用的高尔夫规则都适用,并且最短的代码(以字节为单位)获胜。

6
救命!我的计算器出现故障!
介绍 我的计算器很奇怪。有时,当我输入时8会显示2。有时,当我输入a 6时会显示+。一些按钮混在一起! 谁能帮我确定哪个? 挑战: 输入:错误方程式列表,结果正确。 输出:交换的两个按钮。 例如: 输入可以是: 123 = 3 8423 = 252 4+4 = 8 4*7-10 = 417 9/3 = 3 42-9 = -36 其预期的输出是:2和*。 为什么?因为如果我们交换2和*,则所有等式都是正确的: 1*3 = 3 84*3 = 252 4+4 = 8 427-10 = 417 9/3 = 3 4*-9 = -36 挑战规则: 输入可以采用任何合理的格式。可以是一个以空格分隔的字符串;字符串列表或-array; 一个包含方程式的列表和另一个包含正确结果的列表。你的来电。请说明您使用的输入格式! …
28 code-golf  number  arithmetic  integer  code-golf  math  number  geometry  code-golf  grid  code-golf  math  number  sequence  primes  code-golf  sequence  kolmogorov-complexity  code-golf  string  ascii-art  alphabet  code-golf  math  sequence  integer  code-golf  number-theory  integer  natural-language  code-golf  date  code-golf  function  code-golf  ascii-art  code-golf  math  number-theory  primes  classification  code-golf  array-manipulation  decision-problem  matrix  code-golf  number  code-golf  code-golf  ascii-art  matrix  code-golf  string  code-golf  sequence  base-conversion  code-golf  code-golf  math  number-theory  combinatorics  integer-partitions  code-golf  integer  binary  base-conversion  code-golf  integer  base-conversion  palindrome  code-golf  code-golf  integer-partitions  code-golf  math  ascii-art  matrix  code-golf  number  sequence  number-theory  matrix  code-golf  interpreter  code-golf  graph-theory  code-golf  ascii-art  decision-problem  code-golf  division  code-golf  array-manipulation  primes  code-golf  string  ascii-art  code-golf  primes  counting  code-golf  matrix  unicode  code-golf  source-layout  code-golf  grammars  code-golf  string  cops-and-robbers  regular-expression  obfuscation  string  code-challenge  cops-and-robbers  regular-expression  code-golf  kolmogorov-complexity  game  card-games  code-golf  kolmogorov-complexity  code-golf  array-manipulation  matrix  code-challenge  cops-and-robbers  code-challenge  decision-problem  cops-and-robbers  code-golf  permutations 

14
列出n的所有乘法分区
给定的正数Ñ,输出的所有不同的乘法分区Ñ以任何方便的格式。 n的乘法分区是一组整数,都大于1,因此它们的乘积为n。例如,20具有以下不同的乘法分区: 2 * 2 * 5 2 * 10 4 * 5 20 顺序无关紧要,所以2 * 2 * 5与的分区相同2 * 5 * 2。 例子: 1 -> {} 2 -> {2} 4 -> {2, 2}, {4} 20 -> {2, 2, 5}, {2, 10}, {4, 5}, {20} 84 -> {2, 2, 3, …

12
一零分红
挑战说明 对于每个正整数n,存在一个其形式111...10...000可被n整数整除的数字,即以all开头并以all 1结尾的十进制数0。这很容易证明:如果我们采用(全)n+1形式的一组不同数字,那么除以后(根据信鸽原理),至少其中两个将给出相同的余数。这两个数字的差可以被期望的形式整除。您的目标是编写一个找到该数字的程序。111...1111nn 输入说明 一个正整数。 输出说明 许多p的形式111...10...000,使得p ≡ 0 (mod n)。如果找到多个-请显示其中任何一个(不一定是最小的)。 笔记 您的程序必须在合理的时间内给出答案。这意味着不允许强行使用: p = 0 while (p != 11..10.00 and p % n != 0) p++ 这也不是: do p = random_int() while (p != 11..10.00 and p % n != 0) 11..10..00允许以形式遍历数字。 您的程序不需要处理任意大的输入-上限就是您语言的上限。 样本输出 2: 10 3: 1110 12: …

26
这是史密斯号码吗?
挑战说明 甲史密斯号码是一个复合数字,其数字之和等于的质因子数字之和的总和。给定一个整数N,确定它是否是史密斯数。 最初的几个史密斯数字是4,22,27,58,85,94,121,166,202,265,274,319,346,355,378,382,391,438(序列A006753在OEIS)。 样本输入/输出 18: False (sum of digits: 1 + 8 = 9; factors: 2, 3, 3; sum of digits of factors: 2 + 3 + 3 = 8) 22: True 13: False (meets the digit requirement, but is prime) 666: True (sum of digits: 6 + 6 + …

8
可视化最大公约数
背景 最大公约数(简称gcd)是一种便捷的数学函数,因为它具有许多有用的属性。Bézout的身份就是其中之一:if d = gcd(a, b),则存在整数xand y这样d = x*a + y*b。在这个挑战中,您的任务是使用简单的ASCII艺术形象化此属性。 输入值 您的输入是两个正整数a和b,以任何合理的格式给出。您也可以使用一元输入(您选择的单个可打印ASCII字符的重复),但是您必须保持一致,并且两个输入都使用相同的格式。输入可以是任何顺序,并且可以相等。 输出量 您的输出是一串s长度lcm(a, b) + 1(lcm代表最小公倍数)。的字符s表示从0到的整数lcm(a, b)。如果是或的倍数,则该字符s[i]为小写,o否则i为一个句点。请注意,零是每个数字的倍数。现在,因为贝祖等式中,将有至少一对人物,在其距离正好。最左边的这样的对将被大写s 代替;这是最终的输出。ab.osgcd(a, b)O 例 考虑输入a = 4和b = 6。然后我们有gcd(a, b) = 2和lcm(a, b) = 12,这样的长度s会13。的倍数a和b摘要如下: 0 1 2 3 4 5 6 7 8 9 10 11 12 o . . . …

24
加-乘-加序列
(相关) 给定的整数n > 1, 1)构造号码的范围n, n-1, n-2, ... 3, 2, 1并计算出总和 2)取该数量的单独的数字和计算产品 3)采取的个别数字该数目并计算出总和 4)重复步骤2和3,直到达到一位数。该数字是结果。 该序列的前20个术语如下: 3, 6, 0, 5, 2, 7, 9, 2, 7, 9, 1, 9, 0, 0, 9, 6, 7, 0, 0, 6 注意:此序列不在OEIS中。 I / O和规则 数字将很快变得非常大,因此该解决方案必须能够处理多达100,000个输入数字而不会失败(如果您的代码可以处理超过此数量的情况就可以了)。 输入和输出可以通过任何方便的方法给出。 完整的程序或功能都是可以接受的。如果是函数,则可以返回输出而不是打印输出。 禁止出现标准漏洞。 这是代码高尔夫球,因此所有常用的高尔夫规则都适用,并且最短的代码(以字节为单位)获胜。 例子 n output 1234 9 3005 …

20
这是一个三位数以1结尾的数字吗?
给定一个非负整数,以任何一致的整数为基础,返回是否为以1结尾的三位数。换句话说,该数字需要以N为底,N是大于零的整数。 规则 这是代码高尔夫球,因此最短的答案会获胜。 由于一元的行为很怪异,因此未定义输入3 10的行为。 禁止出现标准漏洞。 例子 真正: 5 73 101 1073 17 22 36 55 99 假: 8 18 23 27 98 90 88 72 68 少数大量: 46656 true 46657 true 46658 true 46659 true 46660 true 46661 false 46662 false 46663 true 46664 false 46665 true 46666 true …

20
是陈素吗?
如果数字满足两个条件,则它是Chen质数: 它本身就是素 本身加两个是素数或半素数。 质数是一个数字,其中恰好有两个除数,并且这些除数由自身和一个除数组成。 半素数是两个素数的乘积。(请注意,12 = 2 * 2 * 3不是半素数,而25 = 5 * 5是)。 您的任务是确定数字是否为Chen质数。您应将任何真实值输出为是,将任何虚假值输出为否。 输入将是大于或等于1的任何整数。也可以将其视为字符串,字符数组或数组或数字。 例子: 101 -> truthy 223 -> falsy 233 -> truthy 1 -> falsy 这是OEIS A109611。 这在一定程度上是受苏菲·日耳曼(Sophie Germain)总理的启发吗?不幸的是,它作为重复项目被关闭,所以我要发布一个与之相关的挑战,不是重复项目。

21
寻找主要差距
一个主要的差距是连续两个素数之差。更具体地,如果p和q是p<q且p +1,p +2,...,q -1不是素数的素数,则素数p和q定义了n = q - p的间隔。的间隙被认为是开始由p,并具有长度 Ñ。 已知存在任意大的主要间隙。即,给定n,则存在长度为n或更大的素数间隙。但是,可能不存在长度恰好为n的素数间隙(但会更大)。 挑战 给定一个正整数n,输出第一个素数,该素数开始于length n或更大的间隙。 例如,对于输入4,输出应为7,因为7和11是相差至少4的第一个连续质数(先前的间隔是1,从2到3; 2,从3到5;以及2,从5至7)。对于输入3,答案也应该是7(没有长度为3的间隙)。 附加规则 该算法在理论上应该适用于任意高n。实际上,如果程序受时间,内存或数据类型大小的限制,这是可以接受的。 输入和输出可以通过任何合理的方式进行。 允许使用任何编程语言编写程序或功能。禁止出现标准漏洞。 以字节为单位的最短代码获胜。 测试用例 Input -> Output 1 2 2 3 3 7 4 7 6 23 10 113 16 523 17 523 18 523 30 1327 50 19609 100 370261 200 20831323

24
是圣诞节的哪一天?
前言 在著名的颂歌《圣诞节的十二天》中,叙述者每天都会收到几份礼物。这首歌是累积性的 -在每节经文中,都会添加新的礼物,其数量要比之前的礼物多一个。一只Part,两只海龟鸽子,三只法国母鸡,等等。 在任何给定的诗句N处,我们都可以通过找到第N个四面体数来计算歌曲中当前礼物的累积总和,从而得出结果: Verse 1: 1 Verse 2: 4 Verse 3: 10 Verse 4: 20 Verse 5: 35 Verse 6: 56 Verse 7: 84 Verse 8: 120 Verse 9: 165 Verse 10: 220 Verse 11: 286 Verse 12: 364 例如,在第4节之后,我们有4 *(1 part),3 *(2斑鸠),2 *(3只法国母鸡)和1 *(4只叫鸟)。通过总结这些,我们得到4(1) + 3(2) + 2(3) …

11
纯度数
今天,我们来看一个与Collat​​z函数f有关的序列a: 我们称形式为z,f(z),f(f(z)),...的序列为Collat​​z序列。 我们序列中的第一个数字a(1)是0。在反复施加f的情况下,它落入一个循环0→0→… 我们尚未看到的最小数字是1,使a(2)= 1。在重复使用f的情况下,它会进入一个循环1→4→2→1→… 现在我们已经在上面的循环中看到了数字2,所以下一个最小的数字是a(3)= 3,属于循环3→10→5→16→8→4→2→1→4→2→1 →… 在以上所有循环中,我们已经看到了4和5,因此下一个数字是a(4)= 6。 现在,您应该明白了。一(N)是不是为所有任何在Collat​​z序列的一部分的最小数目一(1),...,A(N - 1) 。 编写一个给定正整数n返回a(n)的程序或函数。以字节为单位的最短代码获胜。 测试用例: 1 -> 0 2 -> 1 3 -> 3 4 -> 6 5 -> 7 6 -> 9 7 -> 12 8 -> 15 9 -> 18 10 -> 19 50 -> 114 (这是OEIS序列A061641。)

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.