部分函数
调和函数
def harmonic(n):
total = 0.0
for i in range(1,n+1):
total = 1.0/i
return total
for i in range(1,len(sys.argv)):
arg = int(sys.argv[i])
value = harmonic(arg)
stdio.writeln(value)
判断是否为素数
def isPrime(n):
if n<2:return False
i = 2
while i*i <= n:
if n%i==0:return False
i +=1
return True
最大公约数
#辗转相除
def fun(a,b):
x = a%b
while (x!=0):
a =b
b =x
x =a%b
return b
#辗转相减法
def fun2(a,b):
while a != b:
if a > b:
a = a - b
else:
b = b - a
return b
数值
x=3**100 #想知道x的位数
bits= x.bit_length()
print bits
字符串
#计算字符串长度
len(s)
s+t #拼接字符串 生成一个新的
s +=t #拼接结果值赋给s
s[i]
s[i:j] #i到j-1个字符切片
s[i:j:k] #步长k
s<k #比较
s in t #判断t中是否有s
s not in t #是否没有
s.count(t) #s中出现t几次
s.find(t,start) # 找s中出现的第一个t 返回位置 若没有 返回-1
s.upper() #大写
s.lower() #小写
s.startswith(t) #判断s以什么开头?
s.endswith(t) #是否以t结尾
s.strip() #删除空格
s.replace(old,new) #新字符替代旧字符
s.split(delimiter) #s= ab cd e d ->[ab,cd,e,d]
#数组的字符串拼接
delimiter.join(a)
print b<c
print a<c # 一个字符一个字符比 都先从第一个开始若一样 比第二个
阶乘
i=1
n=int (sys.argv[1])
sss=1
for i in range(1,n+1):
sss=sss*i
stdio.writeln(str(sss))
二进制
i=1
w=''
n=int (sys.argv[1])
aa=n
if (n==0):
w='0'
for i in range(1,n+1):
while aa!=0:
s=aa%2
aa=aa/2
if(s==1):
w='1'+w
else:
w='0'+w
i=i+1
stdio.writeln(str(w))
二进制
n=int (sys.argv[1])
s=''
while n>0:
s=str(n%2)+s
n/=2
stdio.writeln(str(s))
'''
#zhuan 8bajinzhi
n=int (sys.argv[1])
s=''
while n>0:
s=str(n%8)+s
n/=8
stdio.writeln(str(s))