私はタスクを解決しています、ここで:
入力:
整数としての数値。
出力:
整数として最も近い大きい回文素数。
私は感謝のヒントを私の解決策を短くする方法。または、アプローチの変更が有益であるかどうかの指示。
golf=lambda l,r=range:next(x for x in r(10**6)if(x==int(`x`[::-1]))&all(x%d for d in r(2,x))and x>l)
回文:
x==int(`x`[::-1])
プライム:
all(x%d for d in r(2,x))
3
これは挑戦ではないので、人々がこれに投票する前に、このようなことが話題になっています。私が疑問に思う唯一のことは、これが「パリンドローム数のチェックをより短くするにはどうすればよいですか?」という2つの別々の質問として適していなかったかどうかです。そして、「素数のチェックをより短くするにはどうすればよいですか?」(@Martin、ただし、これを確認するフィードバックが増えるまでは、そうしないでください。)
—
Martin Ender
@ m.buettner、ありがとう。
—
Martin Rajnoha 14