2009-02-01から1ヶ月間の記事一覧
問題 The prime factors of 13195 are 5, 7, 13 and 29. What is the largest prime factor of the number 600851475143 ? ソース require 'mathn' x = 600851475143 pv = x.prime_division p pv[pv.size - 1][0] 解答 6857 感想 ライブラリ使って余裕!
問題 Each new term in the Fibonacci sequence is generated by adding the previous two terms. By starting with 1 and 2, the first 10 terms will be: 1, 2, 3, 5, 8, 13, 21, 34, 55, 89, ... Find the sum of all the even-valued terms in the seque…
About - Project Eulerに参戦し始めた Rubyの勉強も兼ねてRubyで挑戦問題の和訳はこちらProject Euler - PukiWiki 問題 If we list all the natural numbers below 10 that are multiples of 3 or 5, we get 3, 5, 6 and 9. The sum of these multiples is 2…
Brainfuckという難解言語はご存じだろうか? '>', ' チューリング完全なチューリングマシンである。 Brainfuckの言語仕様 > ポインタをインクリメントする。ポインタをptrとすると、C言語の「ptr++;」に相当する。 C言語の「ptr--;」に相当。 + ポインタが指…
ちょと必要だったので、そのときのプログラムをメモ。 なぜ計算したかったのか? xが1〜32までの時の2^x以上で最小の素数が欲しかったんです ハッシュテーブルの大きさとかによく使うでしょ(そうそれ! ソース require 'mathn' (1..32).each{|x| puts lambd…
anarchy golfでやっているショートコーディングのお題のUTF-9でようやくC言語でトップが取れたのでその道のりを公開。 かなり69バイトをさまよっていますwww ポイント 変数iで連結したビット数をカウント 0の場合は次の1バイトを連結しても出力はできな…
以前に「C言語でJavaと同等程度の例外処理をやってみる - ほんまの走り書き技術メモ」でC言語でも例外処理っぽいこと出来るんやぞってのを書きました。今日その辺をいじっていて気付いたことがあったのでメモ。 jmp_bufとはなんぞや? 以前にも説明したが、j…
yacc&lexの練習のために作ったJSONパーサです。 一通り、JSONのBNF*1には従ったつもりです。 また、ソースには以前「C言語で文字列を簡単にかつ少し高速に操作する - ほんまの走り書き技術メモ」で紹介したMyStringを使用しています。 object {} { members }…
Perlで二乗の計算をするなら $i ** 2 よりも $i * $i の方が約2倍早い。 実験 0〜1000000までの二乗を計算する速度 ソース pow1.pl(*で計算) #!/usr/bin/perl use strict; for (my $i = 0; $i < 1000000; $i++) { my $p = $i * $i; } pow2.pl(**で計算) …
C言語では文字列を連結していくと、メモリの再確保とかしなくてはならないのでとても面倒です。さらに、strcatを利用すると、 以下のように文字列連結をした場合。 strcat(str1, str2); char *strcat(char *s1, const char *s2) { int len = strlen(s1); str…
Cygwinでcronを使いたかったのでその時のメモ。 cronをWindwosのサービスとして登録 cygrunsrv --install cron --path /usr/sbin/cron --args -Dこんな感じで登録されるはず。。 cronサービス起動 cygrunsrv --start cron 確認 Current StateがRunningとなっ…
1年以上前に作ったJavaでのBase64のエンコード、デコードのクラスです。 ソース MyBase64.java class MyBase64 { final static char[] base64 = { 'A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'I', 'J', 'K', 'L', 'M', 'N', 'O', 'P', 'Q', 'R', 'S', 'T', 'U…
とりあえずまともに書いたらこんな感じかな??プログラム引数に文字列を指定すると、Base64文字列を出力してくれる。 ソース #include <stdio.h> #include <string.h> int main(int argc, char **argv) { char *w = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123</string.h></stdio.h>…
2007年アジア予選B問題を解いてみた 解法 エラトステネスの篩で素数配列を生成し、素数以外の数字なら素数間の距離を数えて出力するだけ。 ソース (目標10分以内) #include #include using namespace std; #define MAX_LEN 1299800//>1299709 int main(){ …
2007年アジア予選H問題を解いてみた。以下のBNFのプログラムのインタプリタを作成し、何行目にバグがあるかを見つける問題。 <program> ::= <declaration> | <program><declaration> | <program><assignment> <declaration> ::= <array name>[<number>]<new line> <assignment> ::= <array name>[<expression>]=<expression><new line> <expression> ::= <number> | <array name>[<…</array></number></expression></new></expression></expression></array></assignment></new></number></array></declaration></assignment></program></declaration></program></declaration></program>
2007年アジア予選A問題を解いてみた。 解法 最大の石の数10000よりも大きい配列を用意する。 必要な配列数だけ0で埋めて初期化。 消した石は1を代入しいく。(石数-1回繰り返す) 高速化 上記の解法でも普通に答えは得られるが、少し速度的に遅いので、 for(…
MySQL Clusterの負荷テストの際に使用したMySQLを簡単に書くためのクラス。勘違いもいっぱいありそうやけど、初めてのJDBC。 import java.sql.*; public class MySQL { private String url = "localhost"; private int prt = 3306; private String usr = "ro…
最近SOAP/WSDLについての仕事ばかりやってたのでメモ。 SOAP SOAP通信はHTTP、FTP、SMTPなどのプロトコルを使ってWebサービスを呼び出すもので、 通信にはXML文書が用いられる。 サーバとクライアント双方がSOAPを生成・解釈するためのエンジンを 持つことに…
凄い(?)!! こんな新機能が出たんや!!ってことで φ(*'д'* )メモメモ JDK6でのコンソール入力(文字列) Console console = System.console(); String line = console.readLine("文字列:"); JDK6でのコンソール入力(パスワード) 標準入力からの入力がコンソー…
2007年国内予選C問題のCut the Cake(ケーキカット)をやってみました。 解法 1つ1つのピースを切られた順番、大きさ(縦・横)で管理する。 切られたピースは削除し、新たに2つ新しいピースを追加する。ソートは、切られた順番にソートするless()オペレー…
2007年国内予選B問題のAnalyzing Login/Logout Records(ログイン/ログアウト記録の解析)をやってみました。 解法 3600のboolean配列を用意すればよい感じ? ソース (目標10分以内) #include <iostream> using namespace std; typedef struct LOG{ bool t[3601]; </iostream>…
include 2007年国内予選A問題のICPC Score Totalizer Software(ICPC 得点集計ソフトウェア)をやってみました。 解法1 Vectorに入れてソートしたものを、先頭データ+1から末尾データ−1までで平均値を出す。 解法2 入力で最小値と最大値、合計を求めて…
Tomcat5.5のSSL設定の方法はかなり簡単。(約2分)まず、SSL通信には欠かせない鍵を生成する。 鍵の作成 コマンドプロンプトを立ち上げて以下のコマンドを実行する。 (ディレクトリはどこでもOK!!) なお、自己認証など、特に業務以外に使う場合以外は名前…
2006年ICPC国内予選のC問題を暇なので解いてみた!後から思ったんやけど、幅優先の方がいいね・・・ 実際にコレ実行したら結構時間かかるし(汗 でも、絶対にどこか枝刈りで切るはずだ!! 本日のコーディングミス こんな酷いミス久しぶりww 何回か、コード…
何も見ないでマージソートを書いてみた。 初め int *tmp = new int[num]; で、マージするための領域用意したのに if(j >= num || (i < left && array[i] < array[j]))array[k++] = array[i++]; else array[k++] = array[j++]; と書いていて、tmpのコピーも開…
何も見ないでクイックソートを書いてみた(汗 while(i < num && array[i] < s)i++; while(j >= 0 && array[j] >= s)j--; の、各whileの1つ目の条件抜けてて、結構ハマった。。。。 ソース void quickSort(int *array, int num){ if(num < 2)return; int i = …
優先順位付き待ち行列(Priority queue)とは、普通の待ち行列(キュー)と少し違い、デキュー(取り出す)ときに優先順位の高い(低い)ものから取り出す待ち行列。順次にデータが出てくる場合においてデータをソートしたい場合において、並び替えを行う時…
今までTomcatばかり使ってて、会社の同僚にJBossのこと聞いて入れてみたが、あまり良く分からない。。。Tomcatより早いらしいが、まだ検証できていない(汗 JBossの特徴 オープンソースである JBossのライセンスはLGPLです。LGPLの元では、JBossを実行環境や…
最近JSPをいじっているので、JSPメモ。JSPの基礎と、セッション管理のサンプル。 1つのJSPファイルでログイン、ログアウト、ホーム画面を表示できる。 各画面は「sc」というパラメータで制御される。 sc 画面 なし ホーム、ログイン login ログイン処理 logo…
以前はFC2にて「プログラミング言語マリチリンガルメモ〜憧れのマルチリンガル〜としてブログをやっていましたが、 はてブを始める前くらいから更新が滞っていたので、こちらの方へ記事を統合することにしました。プログラミング言語マリチリンガルメモ〜憧…