我对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)时,它根本没有显示任何答案。