等比級数

数列{[pmath]a_{n}[/pmath]}が、[pmath]a_{1}[/pmath]=3, [pmath]a_{2}[/pmath]=6, [pmath]a_{3}[/pmath]=12, ・・・, [pmath]a_{n}=3[/pmath]・[pmath]2^{n-1}[/pmath]で表されるものを初項3、公比2の等比数列と呼び、一般に初項a、公比r、の等比数列は、[pmath]a_{n}=ar^{n-1}[/pmath]と表され、その和[pmath]S_{n}[/pmath]を等比級数と呼びます。今、試みに[pmath]S_{n}[/pmath]を求めてみると下記、(1)式の両辺にr をかけた(2)式を用意して

[pmath]S_{n}[/pmath]=[pmath]a[/pmath]+[pmath]ar[/pmath]+・・・・+[pmath]ar^{n-1}[/pmath]   (1)
[pmath]rS_{n}[/pmath]=    [pmath]ar[/pmath]+・・・・+[pmath]ar^{n-1}[/pmath]+[pmath]ar^{n}[/pmath]   (2)

r≠1 のとき、(1)式の辺々から(2)を引いて(1)-(2)を計算すると、

[pmath](1-r)S_{n}=a-ar^{n}[/pmath]

[pmath]S_{n}={{a(1-r^{n})}/{1-r}}={{a(r^{n}-1)}/{r-1}}[/pmath]と公式どおり求まりました。

仮に例えば元金G、利息(月利)r、支払回数 n、の車なりマンションを買うとき、ローン返済を組むと、月々の支払いaはいくらになるでしょうか。 続きを読む 等比級数

yum コマンド

Linux を管理、メンテナンス、機能の追加をするコマンド、yum のまとめです。

アップデート。一番お世話になるコマンドです。

# yum update

自前でビルドしたwebサーバーがあるときなど、アップデートしたくないパッケージは、/etc/yum.conf にexclude=httpd*などとすると良いでしょう。

インストールされているか確認

# yum list installed | grep php

パッケージをインストール or 削除

# yum install or remove [packages]

パイプを使ってまとめてインストール、削除できます。| grep [packages]

リポジトリからインストール

# yum --enablerepo=epel install [packages]

package が複数ある時は併記するとまとめてインストールできます。

インストール可能なパッケージを探す

# yum search [packages]

* (ワイルドカード)を使って当たりをつけると探しやすいです。

ライブラリを提供しているパッケージを確認

# yum whatprovides libX11.so.6

依存関係にあるライブラリを引きたいときに便利です。

利用可能なパッケージのグループ一覧を表示

 # yum grouplist [group]

パッケージをグループでインストール

# yum groupinstall [group]

OSの初期インストールで選択しなかったグループもあとからまとめてインストールできます。

以上、簡単なyum コマンドのまとめでした。
最後までお読みいただき、ありがとうございました。

詳しい説明は、man で確認できます。

# man yum

「q」とタイプすると説明から抜けられます。

マイクラ・転落防止柵付き落とし穴

以前、作成した落とし穴mod を懲りずに改良してみました。
今回は、敵性mob に殴られているときに有効な転落防止柵付きマイナー版です。

from mcpi.minecraft import Minecraft
from mcpi.block import *
mc = Minecraft.create()
pos = mc.player.getTilePos()

for i in range(2):
    mc.setBlock(pos.x+1,pos.y+i,pos.z,DIAMOND_BLOCK)
    mc.setBlock(pos.x,pos.y+i,pos.z-1,DIAMOND_BLOCK)
    mc.setBlock(pos.x-1,pos.y+i,pos.z,DIAMOND_BLOCK)
    mc.setBlock(pos.x,pos.y+i,pos.z+1,DIAMOND_BLOCK)
    
for posX in range(20):
    for posZ in range(20):
        for posY in range(20):
            mc.setBlock(pos.x+posX,pos.y-posY,pos.z+posZ+1,AIR)
            mc.setBlock(pos.x+posX+1,pos.y-posY,pos.z-posZ,AIR)
            mc.setBlock(pos.x-posX,pos.y-posY,pos.z+posZ+1,AIR)
            mc.setBlock(pos.x-posX-1,pos.y-posY,pos.z-posZ,AIR)

for posX in range(21):
    for posZ in range(21):
        for posY in range(21):
            mc.setBlock(pos.x+posX,pos.y-posY-1,pos.z+posZ,DIAMOND_BLOCK)
            mc.setBlock(pos.x+posX,pos.y-posY-1,pos.z-posZ,DIAMOND_BLOCK)
            mc.setBlock(pos.x-posX,pos.y-posY-1,pos.z+posZ,DIAMOND_BLOCK)
            mc.setBlock(pos.x-posX,pos.y-posY-1,pos.z-posZ,DIAMOND_BLOCK)
                
for i in range(2):
    mc.setBlock(pos.x+1,pos.y+i,pos.z,AIR)
    mc.setBlock(pos.x,pos.y+i,pos.z-1,AIR)
    mc.setBlock(pos.x-1,pos.y+i,pos.z,AIR)
    mc.setBlock(pos.x,pos.y+i,pos.z+1,AIR)

敵に殴り殺される前までに・・・、「天空の城、ラピュタ」のムスカ大佐よろしく、「死ねぇーーーい!」と言いつつコマンド入力、エンターキーを押すのも一興ですね。