Dav*_*usa 0 python modular-arithmetic
例如,我有一个参考编号a = 15
和b= 3
.
x=2
,f(a,b,x) = 1
因为如果将15分成3部分,则数字2在第一部分中.x=7
,f(a,b,x) = 2
因为如果将15分成3部分,则数字7在第二部分中.x=15
,f(a,b,x) = 3
因为如果将15分成3部分,则数字15在第3部分中.有这样的内置功能吗?
我想不出一个能做到这一点的内置函数.然而,编写一个并不困难:
def f(a, b, x):
return (x - 1) * b // a + 1
for i in range(1, 16):
print i, f(15, 3, i)
Run Code Online (Sandbox Code Playgroud)
打印出来
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
Run Code Online (Sandbox Code Playgroud)
(关于如何以及是否x=0
需要处理的问题并不完全清楚;这个答案认为它超出了有效范围.)