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分,我就给你~