[Python] prime →→→→→进入此内容的聊天室

来自 baba, 2023-01-14, 写在 Python, 查看 73 次. [paste_expire] 1 秒.
URL http://www.code666.cn/view/40d7f6f5
  1. import math, random
  2. tmp_result = dict()
  3. prime_numbers = [2,3]
  4. prime_index = 0
  5. def getPrime(i: int) -> str:
  6.     global tmp_result,prime_numbers,prime_index
  7.     if i == 0:
  8.         tmp = list(map(str,random.choices(prime_numbers,k=random.randrange(3,13))))+['0']
  9.         random.shuffle(tmp)
  10.         tmp = f"0={'*'.join(tmp)}"
  11.         tmp = tmp.replace('*','\\*')
  12.         return tmp
  13.     elif i == 1:
  14.         return "没法分解啊啊啊啊(+﹏+)"
  15.     def _judgePrime(kr: list, ss: int):
  16.         ll = math.floor(math.sqrt(ss))
  17.         for oo in kr:
  18.             if ss % oo == 0:
  19.                 return True
  20.             elif oo > ll:
  21.                 return False
  22.     def _updatePrime():
  23.         dx = prime_numbers[-1]+2
  24.         while _judgePrime(prime_numbers,dx):
  25.             dx += 2
  26.         prime_numbers.append(dx)
  27.         return
  28.     def _handle(ii: int) -> None:
  29.         global prime_index
  30.         kk = math.floor(math.sqrt(ii))
  31.         ww = prime_numbers[prime_index]
  32.         if ii == 1:
  33.             return
  34.         if ii == ww:
  35.             if ii in tmp_result:
  36.                 tmp_result[ii] += 1
  37.             else:
  38.                 tmp_result.update({ii:1})
  39.             return
  40.         while ii%ww:
  41.             if ww > kk:
  42.                 tmp_result.update({ii:1})
  43.                 return
  44.             else:
  45.                 prime_index += 1
  46.                 if prime_index == len(prime_numbers):
  47.                     _updatePrime()
  48.                 ww = prime_numbers[prime_index]
  49.         _handle(ww)
  50.         _handle(ii//ww)
  51.     _handle(i)
  52.     res = f'{i}={"*".join([f"{k}^{v}^" for k, v in tmp_result.items()])}'
  53.     res = res.replace('*','\\*').replace('^1^','')
  54.     tmp_result.clear()
  55.     prime_index = 0
  56.     return res

回复 prime rss

标题 提交人 语言 时间
Re: prime | 我看懂了!!! 4n0n4me python 1 年 前.
Re: prime | pwp... 4n0n4me python 1 年 前.

回复 "prime"

这儿你可以回复上面这条便签

captcha