我正在使用递归来找到一个快乐的数字.
以下是我的Python代码:
deepth = 0
def is_happy_number(number):
astring = str(number)
global deepth
digits = [int(char) for char in astring]
sum_digit = sum([digit**2 for digit in digits])
if sum_digit == 1:
deepth = 0
return True
else:
deepth += 1
if deepth >800:
return False
return is_happy_number(sum_digit)
print '7',is_happy_number(7)
for number in range(1,11):
print number,is_happy_number(number)
Run Code Online (Sandbox Code Playgroud)
结果是:
7 True
1 True
2 False
3 False
4 False
5 False
6 False
7 False
8 False
9 False
10 True
Run Code Online (Sandbox Code Playgroud)
当我单独测试7号时,它返回'True'.当我运行最后两个原始代码时,数字7返回'False'. …
K&R在C编程语言中进行了练习,以查找各种类型的最大/最小值,例如char和int.
在以下代码中:
#include<stdio.h>
#include<limits.h>
void main()
{
printf("Size of Char Max %d\n", CHAR_MAX);
printf("Max Char+1 = %d\n",CHAR_MAX+1); //my test code
}
Run Code Online (Sandbox Code Playgroud)
既然CHAR_MAX是127,这是类型的最大值char,为什么不加1会导致溢出?