C

teratailの「嘘つき族と正直族の問題」をPythonで解いてみた。

teratailで見つけた「嘘つき族と正直族の問題」をPythonで解いてみました。(^_^; ある村に,Aさん,Bさん,Cさん,Dさんの4人がいました.このうち2人は嘘つき族であり,このうち2人は正直族であることが分かっています.嘘つき族は必ずうそをつき,正直…

ちょっと前のクイズ(3)

C

拙ブログの記事「ちょっと前のクイズ(2)」で使用した関数電卓のソース calc.c がリンク切れになっているようなので、EZFUNC のソースを使って Evaluate 関数等を書き直してみました。「ちょっと前のクイズ」といっても、だいぶ前になってしまいましたが、…

4次の魔方陣プログラム - C言語

C

前回の魔方陣つながりで、4次の魔方陣を求めるプログラムをいつものdo{…}while(next_perm(p,n,r));構文を使って、C言語で作ってみました。(^_^; 縦横斜めの和が34ならば、四隅の和も34になるらしいので、これを使えば、変数を7個にして、残りは残差から求め…

魔方陣パズル(2) - C言語

Q C

質問の魔方陣をプログラムで解いてみました。(^_^; 解の数が多いので、リダイレクト「>」で、出力先をファイルにしました。●MagicCircle.c /* * MagicCircle.c * p * [0] * * [1][2][3] * [4] [5] * [6] [7] [8] * */ #include <stdio.h> #include <time.h> // 参考URLの順列</time.h></stdio.h>…

魔方陣パズル

Q C

魔方陣パズルを先日ネットで見つけた速い順列生成アルゴリズムを使って解いてみました。(^_^; ちなみに、解を1つ見つけたらbreakすると半分ぐらいの時間で終了します。それから、No.2の方も作ってみましたが、そちらは、1秒かかりませんでした。 最近、ずっ…

先日、Visual C++をインストールしたのは

C

先日、Visual C++をインストールしたのは、long longを使うためでした。(^_^;

Visual C++ 2010 をインストールしてみた。

C

今更ですが、Visual C++ 2010 をインストールしてみました。(^_^; 使い方は、こちらがすごく参考になりました。 ●太田研究室 > Visual C++ 2010 Express プログラミング入門 ちなみに、「Borland C++Compiler」v5.5は、こちらのソース編集ソフトを使用して使…

SEND MORE MONEY(3) C言語プログラム

C

ネットで、いい順列生成のアルゴリズムを見つけたので、書き直してみました。すごく速くなりました。 /* * SendMoreMoney.c * * SEND * +MORE * ----- * MONEY * */ #include <stdio.h> #include <time.h> // 参考URLの順列生成プログラムの main を #if 0 〜 #endif で無効化</time.h></stdio.h>…

【プログラム クイズ】 アインシュタインのなぞなぞ (Einstein's Riddle)

Q C

英語では、Einstein's RiddleとかEinstein's Logic Puzzleと言うようです。(^_^; コンパイルは、「Borland C++ 5.5.1 for Win32 Copyright (c) 1993, 2000 Borland」を使いました。ほとんどCですが、 next_permutation()を使うため拡張子をcppにしました。(^…

SEND MORE MONEY(2) C++

C

C++のの順列生成を使ってみました。ほとんどCです。(^_^; 順列を最後の10個まで求めているのでダブりを防ぐ処理のために遅くなっていますが、ダブりを許せば半分の0.15[sec]ぐらいで求めます。 /* * SendMoreMoney.cpp * * SEND * +MORE * ----- * MONEY * *…

SEND MORE MONEY C言語プログラム

C

SEND MORE MONEYのプログラムをCで書いてみました。孤独の7つながりで、なんか作りたくなってしまいました。(^_^; /* * SendMoreMoney.c * * SEND * +MORE * ----- * MONEY * */ #include <stdio.h> #include <time.h> #define MAXN 16 /* nとrの最大値 */ int Perm[MAXN+1]; </time.h></stdio.h>…

孤独の7 (2)

Q C

まとめれるところはまとめてみました。check_keta()関数をlog版にしたら、約2倍になりました。それから、c=0以外の場合と割る数の百の位を1以外の場合もチェックするようにしてみました。約100倍遅くなったようです。(^_^; /* lonely7.c */ #include <stdio.h> #inclu</stdio.h>…

孤独の7

Q C

結果の出力など、ちょっと改良してみました。(^_^; 実行時間の測定には、ネットでいい関数を見つけたので書き直しました。(^_^; /* lonely7.c */ #include <stdio.h> #include <string.h> #include <time.h> #define Horner(p,q,r,s,t) (10*(10*(10*(10*(p)+(q))+(r))+(s))+(t)) #define</time.h></string.h></stdio.h>…

順列生成 Cプログラム(2)

C

ネットで調べて、作ってみました。やはり、自作よりネットで調べた方が速いみたいです。(^_^; /* genperm.c */ #include <stdio.h> #define MAXN 16 /* nの最大値 */ #define Swap(x,y) {int _t=x; x=y; y=_t;} int Perm[MAXN+1]; /* 結果はPerm[1]からPerm[n]に入り</stdio.h>…

順列生成 Cプログラム

C

順列生成プログラムをCで作ってみました。自作ですのでたぶん効率よくないです。(^_^; 再帰を使ったのものが主流である中、非再帰のものは珍しいかも。(^_^; ずっと昔に、N-88BASICで自作したものをCに翻訳して改良しました。(^_^; /* genperm.c */ #include <stdio.h></stdio.h>…

【プログラム クイズ】の回答

Q C

やはり、スクリプト系だとすごく楽でいいですね。 私がCで作ったのは、こちらです。できるだけ、コピペで楽して作ろうとしても大変です。(^_^; 下記の関数電卓の C ソースを使わせていただきました。 main を「#if 0 〜 #endif」で無効化するだけで使えます…

ニセがね問題

Q C

質問が終了したようなのでもう一度トライ。設定を「◎自動トラックバックを送信しない」にしておいたので今度は飛んでいないようです。 ニセがね問題の簡単なプログラムを C で作ってみました。(^_^; /* * ニセがね問題 nisegane.c */ #include <stdio.h> #include <stdlib.h> #i</stdlib.h></stdio.h>…

ちょっと前のクイズ(2)

Q C

Q7 9□4□6□2=4 □の中に+、−、×、÷のどれかの記号を入れて、式を作りなさい。 実際は、EZFUNC のソースを使いましたが、古いソースでちょっと改造が必要で、説明が大変なので、下記の関数電卓の C ソースを使わせていただきました。 main を「#if 0 〜 …

分散と相関係数(2)

Q C

分散と相関係数などを求めるプログラムをCで書いてみました。ついでに、前回の自分の質問で分かったコンソールマクロも付けてみました。● correl.c /* * 分散と相関係数 correl.c */ #include <stdio.h> #include <conio.h> #include <math.h> /* Borland C++ 5.5.1 for Win32用 <conio.h> が必</conio.h></math.h></conio.h></stdio.h>…