当我提交给在线法官时,为什么此代码显示“错误答案”?

时间:2019-10-19 14:33:22

标签: python python-3.x

我对python很陌生。我正在通过在线法官解决问题。 问题是:

  

取整数集   1,2,3,4,5,6,7,8,9,10,11,12,14,15,16,17,18,19,...

     

首先,删除第二个数字,我们得到以下简化集合。   1,3,5,7,9,11,13,15,17,19,...

     

现在,删除第三个数字,我们得到   1, 3, 7, 9, 13, 15, 19,...

     

无限期地继续此过程……   由于上述过程而没有删除的任何数字都称为“幸运”。

这是我的代码:

m=int(input())
n=2
while 1:
    if m%n==0:
        print(0)
        break
    if n>m:
        print(1)
        break
    m=m-(m//n)
    n=n+1

另一种方法:

n=int(input())
def Lucky(n):
 next_position = n

 if Lucky.counter > n:
    return 1

 if n % Lucky.counter == 0:
    return 0

 next_position = next_position - next_position // Lucky.counter

 Lucky.counter = Lucky.counter + 1

 return Lucky(next_position)

Lucky.counter = 2
if Lucky(n):
 print (1)
else:
 print (0)

当我编译程序时,它正在成功运行,并为所有测试用例提供了正确答案。但是当我在oj上提交时,它显示“答案错误”,并写为“可能您的代码无法在多个测试用例(TC)中正常工作”。在较小的测试用例(如2)上,它显示正确的答案,但是当数字较大(如30886)时,它根本没有显示任何答案。

0 个答案:

没有答案