「学习笔记」3.24代码学习

来源:互联网 发布:人工智能与人类智慧 编辑:程序博客网 时间:2024/05/02 01:45

唉……长叹一声。这几天效率极低啊
最小生成树还是没弄出来.

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<=10def 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 aprint 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
1 0