一个账号 发表于 2020-2-5 17:48
在那里看当然没有啊……
zltzlt 发表于 2020-2-5 17:49
在那里看当然没有啊……
{:10_277:}{:10_277:}{:10_277:}
本帖最后由 fan1993423 于 2020-2-5 17:58 编辑
def fun324(n):
if n==2:return 2
elif n==3:return 3
else:
if n%3==0:
return 3**(n//3)
elif n%3==2:
return 3**(n//3)*2
else:
return 3**(n//3-1)*4
def func324(n):
return n-1 if n<5 else 3**((n-2)//3)*((n-2)%3+2)
fan1993423 发表于 2020-2-5 17:56
解答错误
输入:2
输出:2
预期结果:1
Croper 发表于 2020-2-5 18:00
解答错误
输入:4
输出:3
预期结果:4
def fun324(n):
if n<=3:return n-1
elif n==4:return 4
else:
if n%3==0:
return 3**(n//3)
elif n%3==2:
return 3**(n//3)*2
else:
return 3**(n//3-1)*4
fan1993423 发表于 2020-2-5 18:03
40 ms
zltzlt 发表于 2020-2-5 18:01
解答错误
输入:4
def func324(n):
return n-1 if n<4 else 3**((n-2)//3)*((n-2)%3+2)
Croper 发表于 2020-2-5 18:04
40 ms
本帖最后由 塔利班 于 2020-2-5 18:47 编辑
def f324(n):
a,b=divmod(n,3)
return *3**(a-1) if n>3 else
塔利班 发表于 2020-2-5 18:43
输入 2 出错
zltzlt 发表于 2020-2-5 18:45
输入 2 出错
改了
塔利班 发表于 2020-2-5 18:43
48 ms
能不能举个分解成4个数字的例?
本帖最后由 zltzlt 于 2020-2-5 22:07 编辑
Vmtayvj 发表于 2020-2-5 18:52
能不能举个分解成4个数字的例?
12 = 3 + 3 + 3 + 3,3 * 3 * 3 * 3 = 81。
zltzlt 发表于 2020-2-5 18:53
15 = 3 + 3 + 3 + 3 + 3,3 * 3 * 3 * 3 * 3 = 243。
谢谢!
Vmtayvj 发表于 2020-2-5 19:12
谢谢!
既然来了,就做下这道题呗~
难度不是太大
def fun324(num):
if num < 2:
return None
elif num == 2:
return 1
elif num == 3:
return 2
else:
if num%3==0:
return pow(3,num//3)
elif num%3==1:
return pow(3,num//3-1)*4
else:
return pow(3,num//3)*2
archlzy 发表于 2020-2-5 19:25
32 ms