【问题标题】:What function has these integer results? [closed]什么函数有这些整数结果? [关闭]
【发布时间】:2026-02-10 19:20:07
【问题描述】:

例如,我有一个参考号a = 15b= 3

  • 如果x=2f(a,b,x) = 1,因为如果将 15 分成 3 部分,则数字 2 在第一部分。
  • 如果x=7f(a,b,x) = 2,因为如果将 15 分成 3 部分,则数字 7 在第二部分。
  • 如果x=15f(a,b,x) = 3,因为如果将15分成3部分,则数字15在第三部分。
  • 如果 x15,则结果与我无关。

有没有这样的内置函数?

【问题讨论】:

  • 你可以从a 中减去x 并除以b(截断),我想你会得到答案,除了零索引。
  • 四个关于简单算术单行的问题?真的吗?
  • 所以对于x = 0,答案是0
  • @David:这是一个资源请求,然后离题;而不是所有有用的问题要回答。这样的函数在一般的 Python 编程中并不常见,也不是数学中的常用函数。您为什么希望它是内置的?
  • @DavidSousa:许多功能对许多人有用,但仍然不普遍适用。

标签: python modular-arithmetic


【解决方案1】:

我想不出一个可以做到这一点的内置函数。不过写一个也不难:

def f(a, b, x):
  return (x - 1) * b // a + 1

for i in range(1, 16):
  print i, f(15, 3, i)

打印出来

1 1
2 1
3 1
4 1
5 1
6 2
7 2
8 2
9 2
10 2
11 3
12 3
13 3
14 3
15 3

(从问题中并不完全清楚x=0 需要如何处理以及是否需要处理;这个答案认为它超出了有效范围。)

【讨论】:

  • 谢谢,它按预期工作。
【解决方案2】:

不,没有这样的内置函数。不过,您当然可以自己编写。

【讨论】:

  • 虽然是真的,但这可能是一条评论;为什么不编写那个函数?就目前而言,这不是很有帮助。
  • OP 没有要求函数定义;明确要求一个内置的。因此,这是准确地回答了所提出的问题。
  • 是的,但这意味着,根据我的经验,OP 确实需要这样的功能。如果没有这样的功能,why就不存在了;不可能写吗?等等。一个简单的“不,没有”实际上很少有帮助。
  • 然而作者在上面“阿加,问题是关于内置函数而不是关于如何编写函数。”