Project Euler 55

不知道pe54从何下手,于是先放一下……真是伤感……


这道题,本来想用C来解决……但是突然想到,一个数加啊加,加啊加……很容易就超过2^31……

好吧……只好用python了……迅速解决战斗,一次AC~yeah!


def is_palindrome(n):
	if list(str(n)) == list(reversed(list(str(n)))):
		return 1
	return 0

def is_lychrel_num(n):
	for i in range(50):
		n_reverse = int("".join(list(  reversed( list( str(n)) )  )))
		n += n_reverse
		if is_palindrome(n):
			return 0
	return 1

def main():
	ans = 0
	for n in range(1, 10001):
		if is_lychrel_num(n):
			ans += 1
	print(ans)

if __name__ == '__main__':
	main()

I'm gonna show you, how young I am....

不知道上面语法对不对……只是突然觉得自己图样……

改了一下上面的代码……擦……简单了好多……

以后知道了……reverse就用string好了……

def is_palindrome(n):
	n = str(n)
	if n == n[::-1]:
		return 1
	return 0

def is_lychrel_num(n):
	for i in range(50):
		n_reverse = str(n)
		n += int(n_reverse[::-1])
		if is_palindrome(n):
			return 0
	return 1


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值