您的位置:首页 > 编程语言

「学习笔记」3.24代码学习

2016-03-24 21:30 330 查看
唉……长叹一声。这几天效率极低啊

最小生成树还是没弄出来.

2031进制转换 题目传不上来呢

#encoding:utf8
##2031进制转换

##未解决:负数怎么转换3.24

##参考http://www.cnblogs.com/zhangpengshou/archive/2012/03/12/2392068.html
#base=[0,1,2,3,4,5,6,7,8,9,A,B,C,D,E,F]

#r>=2 and r<=10
def dec2r(n,r):
base=[str(x) for x in range(10)]+[chr(x) for x in range(ord('A'),ord('A')+6)]
a=[]
if r>=2 and r<=10:
while n/r!=0:
a.append(n%r)
n=n/r
a.append(n%r)
#print a
return ''.join([str(x) for x in a[::-1]])

elif r>10 and r<=16:
base=base[:r]
while n/r!=0:
a.append(base[n%r])
n=n/r
a.append(base[n%r])
return ''.join([str(x) for x in a[::-1]])
#print a

print dec2r(9,2)
print dec2r(25,8)
print dec2r(23,12)
print dec2r(-4,3)


2032杨辉三角

#encoding:utf8
#2032杨辉三角

#这道题基本上不会,所以参考了百度百科上的答案
def pas_triangles():
a=[1]
while True:
yield a
a=[sum(i) for i in zip([0]+a,a+[0])]

n=int(raw_input())
g=pas_triangles()
for i in range(n):
print next(g)


2036改革春见吹满地(多边形面积)

#encoding:utf8
##2036改革春风吹满地

##三角形面积公式:
##这是已知三角形3顶点坐标A(x1,y1),B(x2,y2),C(x3,y3),求三角形ABC的面积的公式
##公式中书写形式是二阶行列式
## 写成一般形式如下:
## 设A(x1,y1),B(x2,y2),C(x3,y3)在坐标系中中顺序为三点按逆时针排列
## S=1/2[(x1y2-x2y1)+(x2y3-x3y2)+(x3y1-x1y3)]
## 已知三角形3顶点坐标,求三角形面积最直接的公式
##思路:以第一个坐标点为基准,与第二个、第三个点组成三角形,再与第三个、第四个点组成三角形,n边形
##便分成n个三角形,所有三角形面积相加便是多边形面积

l=map(int,raw_input().split(' '))
n=l[0]    #n边形
area=[]
# for i in range(1,n-2):
for i in range(1,n-1):
s=1.0/2*((l[1]*l[2*i+2]-l[2*i+1]*l[2])+(l[2*i+1]*l[2*i+4]-l[2*i+3]*l[2*i+2])+(l[2*i+3]*l[2]-l[1]*l[2*i+4]))
area.append(s)

print sum(area)

# l=[3,0,0,1,0,0,1]
# i=1
# s=1.0/2*((l[1]*l[2*i+2]-l[2*i+1]*l[2])+(l[2*i+1]*l[2*i+4]-l[2*i+3]*l[2*i+2])+(l[2*i+3]*l[2]-l[1]*l[2*i+4]))
#
# print s
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  python