zltzlt 发表于 2020-2-5 17:49:16

一个账号 发表于 2020-2-5 17:48


在那里看当然没有啊……

一个账号 发表于 2020-2-5 17:51:15

zltzlt 发表于 2020-2-5 17:49
在那里看当然没有啊……

{:10_277:}{:10_277:}{:10_277:}

fan1993423 发表于 2020-2-5 17:56:59

本帖最后由 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

Croper 发表于 2020-2-5 18:00:23

def func324(n):
    return n-1 if n<5 else 3**((n-2)//3)*((n-2)%3+2)

zltzlt 发表于 2020-2-5 18:01:01

fan1993423 发表于 2020-2-5 17:56


解答错误

输入:2
输出:2
预期结果:1

zltzlt 发表于 2020-2-5 18:01:26

Croper 发表于 2020-2-5 18:00


解答错误

输入:4
输出:3
预期结果:4

fan1993423 发表于 2020-2-5 18:03:25

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

zltzlt 发表于 2020-2-5 18:03:59

fan1993423 发表于 2020-2-5 18:03


40 ms

Croper 发表于 2020-2-5 18:04:54

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)

zltzlt 发表于 2020-2-5 18:06:48

Croper 发表于 2020-2-5 18:04


40 ms

塔利班 发表于 2020-2-5 18:43:00

本帖最后由 塔利班 于 2020-2-5 18:47 编辑

def f324(n):
    a,b=divmod(n,3)
    return *3**(a-1) if n>3 else

zltzlt 发表于 2020-2-5 18:45:22

塔利班 发表于 2020-2-5 18:43


输入 2 出错

塔利班 发表于 2020-2-5 18:48:24

zltzlt 发表于 2020-2-5 18:45
输入 2 出错

改了

zltzlt 发表于 2020-2-5 18:48:58

塔利班 发表于 2020-2-5 18:43


48 ms

Vmtayvj 发表于 2020-2-5 18:52:19

能不能举个分解成4个数字的例?

zltzlt 发表于 2020-2-5 18:53:53

本帖最后由 zltzlt 于 2020-2-5 22:07 编辑

Vmtayvj 发表于 2020-2-5 18:52
能不能举个分解成4个数字的例?

12 = 3 + 3 + 3 + 3,3 * 3 * 3 * 3 = 81。

Vmtayvj 发表于 2020-2-5 19:12:01

zltzlt 发表于 2020-2-5 18:53
15 = 3 + 3 + 3 + 3 + 3,3 * 3 * 3 * 3 * 3 = 243。

谢谢!

zltzlt 发表于 2020-2-5 19:15:46

Vmtayvj 发表于 2020-2-5 19:12
谢谢!

既然来了,就做下这道题呗~

难度不是太大

archlzy 发表于 2020-2-5 19:25:35

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

zltzlt 发表于 2020-2-5 19:33:10

archlzy 发表于 2020-2-5 19:25


32 ms
页: 1 [2] 3 4
查看完整版本: Python:每日一题 324