2011-08-17から1日間の記事一覧

順位付け

#!usr/bin/env python # -*- coding: utf-8 -*- #ordering.py import sys from collections import defaultdict data = [56,25,67,88,100,61,55,67,76,56] order = 0 i=0 d= defaultdict(int) for datum in data: for dat in data: print i #if dat == data[…

排他的論理和(XOR)による暗号解読

文字のアスキーコードの特定ビットを 排他的論理和に従ってビット反転する。N→0x4E→ 01001 110 ↓ビット反転(XOR) I←0x49 ← 01001 001pythonの文字コード勉強してからやる。 http://www.kabipan.com/computer/python/unicode.html

対応表による暗号解読

Table="QWERTY...NM" を用意する。 (問題) A→Q,B→W,C→E,...のようにqwerty配列で変換する。 このとき、暗号文字"KSOIDHEPZ"を複合する。 (コード) #!usr/bin/env python # -*- coding: utf-8 -*- #qwerty.py import sys tables = "QWERTYUIOPASDFGHJKLZX…

ヒストグラム(度数分布)

#!usr/bin/env python # -*- coding: utf-8 -*- #histogram.py import sys import random from collections import defaultdict points = [5,24,34,36,38,42,50,57,66,66,71,73,74,76,77,80,80,89,97,100] random.shuffle(points) d=defaultdict(int) for po…

Pascalの三角形

コンビネーションのコードを応用して Pascalの三角形を構成する。 コード #pascal.py #!usr/bin/env python # -*- coding: utf-8 -*- import sys #calculate the combination (n,r) num = raw_input("Set n: ") for k in range(int(num)+1): print " " * (in…

Hornerの方法

べき級数の計算 普通に計算すると掛け算の回数は の項で n(n+1)/2回(等差級数) の項で n回 足し算は n 回Hornerの方法で計算回数を落とす。f(x)を以下のように変形する。 以下の漸化式を定義する。 計算回数はn回の掛け算とn回の足し算になる。以下がコー…

コンビネーション

漸化式を利用したコンビネーションの計算 #combi.py #! usr/bin/env python # -*- coding :utf-8 -*- import sys #calculate combination (n,r) num = raw_input("Set n: ") repeated = raw_input("Set r: ") if num < repeated: print "input error" #Recur…

シンタックスハイライトと数式の表示(tex)

シンタックスハイライト http://d.hatena.ne.jp/hatenadiary/20061215/1166155734 ハイライトさせたいファイルタイプを、行頭の >|| の2本のパイプ( || )の間に指定する。 (例) >|python| import sys ham=null,egg=null print ham,egg < と書く。 import…