python萌新求助,后面两个Wa

P1009 [NOIP1998 普及组] 阶乘之和

ytt02_11 @ 2023-03-08 17:02:12

n = int(input())
sum = 0
j = 1
for i in range(1,n+1):
    j = i*j
    i+=1
    sum+=j
print("%d"%float(sum))

by iterator_traits @ 2023-03-08 17:17:47

@ytt02_11 您应该把float(sum)改为sum,因为 %d 是用来输出整数的


by iterator_traits @ 2023-03-08 17:18:39

转换成浮点数可能造成精度误差?(Python不太了解)


by mazx_lhy @ 2023-03-08 17:19:26

n = int(input())

sum = 0

j = 1

for i in range(1,n+1):

j = i*j
sum+=j

print(sum) 这样就可以了


by ytt02_11 @ 2023-03-08 17:25:41

@iterator_traits !原来不用加一个转化就可以了谢谢!


by ytt02_11 @ 2023-03-08 17:26:04

@mazx_lhy 可以了!谢谢佬!


by ytt02_11 @ 2023-03-08 17:26:37

@iterator_traits 题目要求输出高精所以转化了一下,是我想多了


|