tommyyu 发表于 2023-1-30 17:50:11

zhangjinxuan 发表于 2023-1-30 17:39
我都开 long long 了,结果还是不一样

多写了一个“#”号{:10_282:}def prime():
    global primes
    def is_prime(n):
      if n<2: return False
      return all(n%i for i in range(2, int(n**0.5+1)))
    primes =
def count(yinshu, exp_2):
    if exp_2 == 0: return yinshu // 2 + yinshu % 2
    if exp_2 == 1: return 0
    s = (yinshu // 2) * (exp_2-1)
    s += (yinshu % 2) * (exp_2 // 2)
    return s

def count_yinshu(n):
    try:
      #print(n, end = ' ')
      i = 1
      yinshu = dict()
      while n != 1:
            if n < primes and n != 1: return 2
            while n % primes == 0:
                # print(n)
                yinshu] = yinshu.get(primes, 0) + 1
                n = n // primes
            i += 1
      s = 1
      for i in yinshu:
            s *= (yinshu+1)
      #print(s)
      return s
    except:
      return 2
def count_2_exp(n):
    exp_2 = 0
    while not n % 2:
      n //= 2
      exp_2 += 1
    return exp_2, n

def count_n(n):
    exp_2, new_n = count_2_exp(n)
    return count(count_yinshu(new_n), exp_2)

input()
n = list(map(int, input().split()))
#import time
#start = time.time()
prime()
for i in n:
    print(count_n(i), end = ' ')
#end = time.time()
#print('\n', start - end, sep = '')

高山 发表于 2023-1-30 17:59:26

如果你敢听小怪的话,直接看答案,那么你的剩余积分和梦想币将会…

tommyyu 发表于 2023-1-30 18:02:33

高山 发表于 2023-1-30 17:59
如果你敢听小怪的话,直接看答案,那么你的剩余积分和梦想币将会…

那你不也是发完了这个帖子就能直接看答案了{:10_272:}

zhangjinxuan 发表于 2023-1-30 18:13:40

高山 发表于 2023-1-30 17:59
如果你敢听小怪的话,直接看答案,那么你的剩余积分和梦想币将会…

我 这 题 很 难 吗{:10_266:}
就是一个平方差公式而已啊{:10_250:}

高山 发表于 2023-1-30 18:14:00

tommyyu 发表于 2023-1-30 18:02
那你不也是发完了这个帖子就能直接看答案了

zhangjinxuan 发表于 2023-1-30 18:20:04

tommyyu 发表于 2023-1-30 18:02
那你不也是发完了这个帖子就能直接看答案了

您的代码还是存在问题:
1
9376455
你的输出:
1
标程输出:
8
连接证明:https://zh.numberempire.com/9376455
如果您认为标程、题解有错误,请回帖指明错误,核实会有更丰厚的奖励!

tommyyu 发表于 2023-1-30 18:20:23

zhangjinxuan 发表于 2023-1-30 18:13
我 这 题 很 难 吗
就是一个平方差公式而已啊

我这题过了没{:10_329:}

zhangjinxuan 发表于 2023-1-30 18:20:43

tommyyu 发表于 2023-1-30 18:20
我这题过了没

https://fishc.com.cn/forum.php?mod=redirect&goto=findpost&ptid=223880&pid=6130703

zhangjinxuan 发表于 2023-1-30 18:23:44

高山 发表于 2023-1-30 18:14


鱼油们个个都是“人才”{:10_266:}

tommyyu 发表于 2023-1-30 18:26:53

zhangjinxuan 发表于 2023-1-30 18:20
https://fishc.com.cn/forum.php?mod=redirect&goto=findpost&ptid=223880&pid=6130703

改完了def prime():
    global primes
    def is_prime(n):
      if n<2: return False
      return all(n%i for i in range(2, int(n**0.5+1)))
    primes =
def count(yinshu, exp_2):
    # print(yinshu, exp_2)
    if exp_2 == 0: return yinshu // 2 + yinshu % 2
    if exp_2 == 1: return 0
    s = (yinshu // 2) * (exp_2-1)
    s += (yinshu % 2) * (exp_2 // 2)
    return s

def count_yinshu(n):
    #print(n, end = ' ')
    i = 1
    yinshu = dict()
    try:
      while n != 1:
            if n < primes and n != 1: return 2
            while n % primes == 0:
                # print(n)
                yinshu] = yinshu.get(primes, 0) + 1
                n = n // primes
            i += 1
    except:
      yinshu = 1
    s = 1
    for i in yinshu:
      s *= (yinshu+1)
    return s

def count_2_exp(n):
    exp_2 = 0
    while not n % 2:
      n //= 2
      exp_2 += 1
    return exp_2, n

def count_n(n):
    exp_2, new_n = count_2_exp(n)
    return count(count_yinshu(new_n), exp_2)

input()
n = list(map(int, input().split()))
#import time
#start = time.time()
prime()
for i in n:
    print(count_n(i), end = ' ')
#end = time.time()
#print('\n', start - end, sep = '')

zhangjinxuan 发表于 2023-1-30 18:34:02

tommyyu 发表于 2023-1-30 18:26
改完了

恭喜100分,居然1秒以内就跑完了{:10_256:}

sfqxx 发表于 2023-1-30 22:57:43

平方根是小数怎么办?

sfqxx 发表于 2023-1-30 23:23:13

本帖最后由 sfqxx 于 2023-1-31 17:18 编辑

zhangjinxuan 发表于 2023-1-30 15:23
嘿嘿嘿,还是数学题难

直接按照题解思路做不就得了吗?
肝了100分钟,修复了30分钟bug
可算做出来了
因为Scratch难做,所以运行正确可以给我最佳答案吗?(因为tommyu已经够多了,反正这次是第一)
嘿嘿,顺便赚一丢丢鱼币(附件购买){:10_279:}
如果超时间没关系吧(偶数需要30秒,不过奇数可以快点)(这是最新版,之前的会超时)
下载直接改扩展名就好了(sb3){:10_256:}

zhangjinxuan 发表于 2023-1-30 23:36:06

sfqxx 发表于 2023-1-30 23:23
直接按照题解思路做不就得了吗?
肝了100分钟,修复了30分钟bug
可算做出来了


感动{:10_266:}

zhangjinxuan 发表于 2023-1-30 23:38:06

sfqxx 发表于 2023-1-30 23:23
直接按照题解思路做不就得了吗?
肝了100分钟,修复了30分钟bug
可算做出来了


明天再看哈,今天有点晚了

zhangjinxuan 发表于 2023-1-30 23:40:31

sfqxx 发表于 2023-1-30 23:23
直接按照题解思路做不就得了吗?
肝了100分钟,修复了30分钟bug
可算做出来了


不过scratch的测评很复杂,所以可能要测评20分钟左右,测评正确就给你吧,因为tommyyu在领另一个这个问题的帖子得到最佳了

zhangjinxuan 发表于 2023-1-31 09:41:31

sfqxx 发表于 2023-1-30 23:23
直接按照题解思路做不就得了吗?
肝了100分钟,修复了30分钟bug
可算做出来了


测评得分:30分
Extra Test: 未测试
第一个错误的数据:
1
8
10
你的程序:
1
1.5
标程输出:
1
0
原因:
结果变量在每一轮循环之前要初始化为 0

zhangjinxuan 发表于 2023-1-31 09:46:54

tommyyu 发表于 2023-1-30 18:26
改完了

这样,因为最佳答案已经给您了(另一个帖子),要不这个帖子的最佳答案就给别人吧

tommyyu 发表于 2023-1-31 09:47:32

zhangjinxuan 发表于 2023-1-31 09:46
这样,因为最佳答案已经给您了(另一个帖子),要不这个帖子的最佳答案就给别人吧

{:10_323:}

zhangjinxuan 发表于 2023-1-31 09:50:10

sfqxx 发表于 2023-1-30 23:23
直接按照题解思路做不就得了吗?
肝了100分钟,修复了30分钟bug
可算做出来了


只要大于60分,我就给你~
页: 1 [2] 3 4
查看完整版本: 【C++板块提升计划】梦想护卫舰 第18关 解密(2)【原创】【答题有奖】