プログラミングのお題スレ Part6©2ch.net

このエントリーをはてなブックマークに追加
1デフォルトの名無しさん 転載ダメ©2ch.net
プログラミングのお題スレです。

前スレ
プログラミングのお題スレ Part5
http://peace.2ch.net/test/read.cgi/tech/1411227287/

【出題と回答例】
1 名前:デフォルトの名無しさん
  お題:お題本文

2 名前:デフォルトの名無しさん
  >>1 使用言語
  回答本文

【ソースコードが長くなったら】 (オンラインでコードを実行できる)
http://ideone.com/
http://codepad.org/
http://compileonline.com/
http://rextester.com/runcode
http://runnable.com/
http://code.hackerearth.com/
http://melpon.org/wandbox
https://paiza.io/

宿題は宿題スレがあるのでそちらへ。
2デフォルトの名無しさん:2014/12/11(木) 15:18:02.40 ID:Ipp+K308
3デフォルトの名無しさん:2014/12/11(木) 16:09:18.42 ID:Knr7owVD
4片山博文MZ ◆T6xkBnTXz7B0 :2014/12/11(木) 18:00:40.85 ID:Knr7owVD
お題:日本語でブラウザーの自動操作を行う簡易プログラミング言語を作れ。
その言語では、以下の4つの構文をサポートせよ。
1.ブラウザーでURL「…」を開け。
2.テキスト項目「…」に「…」を入力せよ。
3.ボタン「…」を押せ。
4.ページをファイル「…」として保存せよ。
5片山博文MZ ◆T6xkBnTXz7B0 :2014/12/11(木) 18:16:25.45 ID:Knr7owVD
上級者向け。インターネットエクスプローラーの有り難みがわかる出題である。
6デフォルトの名無しさん:2014/12/11(木) 18:40:34.99 ID:neufFJv8
キ印参上!まで読んだ。
7片山博文MZ ◆T6xkBnTXz7B0 :2014/12/11(木) 18:55:13.98 ID:Knr7owVD
キチガイに見えるだろうが、しかし、Webの発達により、さような難易度が高い操作も自動化できるようになってきている。
この程度のことは、JavaScriptでも、Firefoxの拡張でも、「ブラウザーの中の人」でもできる。

さあ、凄腕ハッカー様よ、現れいずれたまえ! その雄姿を、このスレッドの歴史に刻みつけるのだ!!
8デフォルトの名無しさん:2014/12/11(木) 19:13:50.25 ID:zoc9Fj/c
お題:ある固定資産の減価償却費を計算して、年度毎の金額をテーブルに格納せよ
9片山博文MZ ◆T6xkBnTXz7B0 :2014/12/11(木) 19:23:14.32 ID:Knr7owVD
>>8 Excel
=DB(取得価額,残存価額,現在の年度-開始年度)
10デフォルトの名無しさん:2014/12/11(木) 19:24:16.65 ID:IJmx/E0a
お題:言語AのHelloWorldを言語BのHelloWorldに置き換えるプログラムを言語Cで書け。関数、メソッドのみの置き換えでもよい。
例:http://ideone.com/ZAlrKz
(CをCommonLispにCで。関数のみ)
11デフォルトの名無しさん:2014/12/11(木) 19:27:07.08 ID:PPtc1ub3
マルチリンガル以外お断りという……
12デフォルトの名無しさん:2014/12/11(木) 20:37:52.16 ID:2qZGvaHt
HQ9+をLuaでBrainCrashにかえる

s = "H"
s = ""
print(s)
13デフォルトの名無しさん:2014/12/11(木) 20:42:23.30 ID:aWaBOmKM
>>10
CでPerlを(Python2/Ruby/PHP)に変換
http://ideone.com/PR3IKT
14デフォルトの名無しさん:2014/12/11(木) 21:12:10.21 ID:p+GagzxD
>>7
難易度というより時間とか工程数がニート級だからキチガイなんだよ
15デフォルトの名無しさん:2014/12/11(木) 21:27:59.11 ID:Knr7owVD
>>7
スクレイピング、スクレイピング、ヤッホーヤッホー♪
(昭和の雰囲気で)
16デフォルトの名無しさん:2014/12/12(金) 00:33:12.46 ID:L50nhIUx
音声または楽器音を生成するMATLABのプログラムを作成しなさい
17デフォルトの名無しさん:2014/12/12(金) 01:40:37.00 ID:RPnK5rNe
>>10
shのHelloWorldをEmacs LispのHelloWorldに変換するsedプログラム

% A='echo hello, world!'
% echo $A | sh
hello, world!

% C='s/echo \(.*\)/(progn (princ "\1") (terpri))/'

% B=`echo $A | sed "$C"`
% echo $B
(progn (princ "hello, world!") (terpri))

% emacs -Q --batch --eval="$B"
hello, world!
18デフォルトの名無しさん:2014/12/12(金) 08:22:02.07 ID:UtrA0Zej
お題:入力された自然数を日本語読みにして出力しなさい


512 ⇒ ごひゃくじゅうに
19デフォルトの名無しさん:2014/12/12(金) 18:07:02.31 ID:PAk0/nic
>>18 Java
http://ideone.com/uRHtEB
とてもとてもひどいソース
20デフォルトの名無しさん:2014/12/12(金) 18:44:24.23 ID:hHI9tZtf
お題1
麻雀の聴牌の待ちの形を判定するプログラム (ただし手牌は1枚、4枚、7枚、10枚、13枚のいずれかとする)


入力
123m45666p99s111z
出力
3p 6p 両面待ち 123m 45p 666p 99s 111z
6p 9s シャボ待ち 123m 456p 66p 99s 111z

お題2
麻雀の向聴数を計算し、向聴数減少・和了に進む捨て牌候補と対応する受け入れ牌を表示するプログラム
(ただし手牌はツモ等を含めた2枚、5枚、8枚、11枚、14枚のいずれかとする)

入力
123m45666p99s1112z
出力
0向聴(聴牌)
捨て牌候補 2z 受け入れ牌 36p9s

入力
123m45669p99s1112z
出力
1向聴
捨て牌候補 6p 受け入れ牌 789p2z
捨て牌候補 9p 受け入れ牌 345678p2z
捨て牌候補 2z 受け入れ牌 3456789p9s

数牌は、mは満子、pは筒子、sは索子。数字は数牌の数字をそのまま表す
字牌はzで表し1234567はそれぞれ東南西北白發中を表す
たとえば4枚の満子、1m2m3m4mを持っていたら 1234m と表す
21デフォルトの名無しさん:2014/12/12(金) 18:47:08.19 ID:hHI9tZtf
訂正
お題1
麻雀の聴牌の待ちの形を判定するプログラム (ただし手牌は1枚、4枚、7枚、10枚、13枚のいずれかとする)


入力
123m45666p99s111z
出力
3p 6p 両面待ち 123m 45p 666p 99s 111z
6p 9s シャボ待ち 123m 456p 66p 99s 111z

お題2
麻雀の向聴数を計算し、向聴数減少・和了に進む捨て牌候補と対応する受け入れ牌を表示するプログラム
(ただし手牌はツモ等を含めた2枚、5枚、8枚、11枚、14枚のいずれかとする)

入力
123m45666p99s1112z
出力
0向聴(聴牌)
捨て牌候補 2z 受け入れ牌 36p9s

入力
123m45669p99s1112z
出力
1向聴
捨て牌候補 6p 受け入れ牌 789p9s2z
捨て牌候補 9p 受け入れ牌 345678p9s2z
捨て牌候補 2z 受け入れ牌 3456789p9s

数牌は、mは満子、pは筒子、sは索子。数字は数牌の数字をそのまま表す
字牌はzで表し1234567はそれぞれ東南西北白發中を表す
たとえば4枚の満子、1m2m3m4mを持っていたら 1234m と表す
22デフォルトの名無しさん:2014/12/12(金) 18:57:11.69 ID:Lt1ccLbO
なんか、最近頭の悪い人が考えそうな題が増えてきたな
それらって
>>21全部このひと?
23デフォルトの名無しさん:2014/12/12(金) 19:04:41.34 ID:jHo7B2H0
ほぼ確実にそうだと思う
24デフォルトの名無しさん:2014/12/12(金) 19:07:08.87 ID:jHo7B2H0
日付変わってもID固定だといいのにね
25デフォルトの名無しさん:2014/12/12(金) 19:12:31.52 ID:oJQhRbPG
こーいうの欲しいな→難しいな、どうしよう→あ、お題にしたら誰か作ってくれるんじゃね?俺頭いい!
というのを感じる
26デフォルトの名無しさん:2014/12/12(金) 19:17:13.96 ID:6Bn+YJPZ
そういう行為する連中は荒らしとして通報できたらいいのに
27デフォルトの名無しさん:2014/12/12(金) 19:20:22.34 ID:iYEalHFr
もう二度とこのスレに来なくなるように徹底的に叩いて追い出したほうがいいんじゃね
28デフォルトの名無しさん:2014/12/12(金) 19:29:25.36 ID:651VE/CG
今後は出題時に出題者自身の解答コード(模範コード)を添付するよう義務付ければいい
そうすれば>>25のような得を狙った輩なんて現れんだろ
29デフォルトの名無しさん:2014/12/12(金) 19:35:58.78 ID:b+XpBRTP
ググってピンポイントで答えが出るようなお題は悪問
ググってもピンポイントで答えが出ず自分で思考工夫しないと答えが出ないようなお題は良問
30デフォルトの名無しさん:2014/12/12(金) 19:36:53.27 ID:b+XpBRTP
すなわち答えが既知の問題はこのスレに投稿してはいけない
31デフォルトの名無しさん:2014/12/12(金) 19:39:53.59 ID:b+XpBRTP
>>21のような麻雀なんて世の中にごまんとアプリが出てんだからググりゃすぐ答えがでる超悪問
32デフォルトの名無しさん:2014/12/12(金) 19:42:57.46 ID:w8bD9m+x
33 ◆QZaw55cn4c :2014/12/12(金) 19:43:03.08 ID:TCO/XLYY
>>28
ちょっと前まではそうだったんだけれど‥
34デフォルトの名無しさん:2014/12/12(金) 19:49:37.86 ID:AUxPsHKO
気に入らなきゃ流せば(無視すれば)いいだけなのにアホか。

言っちゃ悪いけど、お前の掟(笑)をお前が守るのは勝手だが、
それを人に押し付けるなって馬鹿。

最近の若者って押しなべてこういう傾向があるよね。
甘やかされて育ってるから世の中自分を中心に回るべきと本気で思ってる。

2chでブラック企業ガーって吠えてる連中は間違いなくこういうタイプ。
35デフォルトの名無しさん:2014/12/12(金) 19:54:02.90 ID:Lt1ccLbO
>>34
うわぁ
頭悪そう
36デフォルトの名無しさん:2014/12/12(金) 19:59:31.47 ID:7MXQO6uw
>>21
ググれば君の作りたいアプリの答えがすぐ見つかるよ!やったね!もう2度と来んなカス
37デフォルトの名無しさん:2014/12/12(金) 20:04:05.55 ID:wfAPCnd3
さあ、さっきからROMってばかりいるそこのキミ!
良問を書きこんでこのスレに活気を取り戻そう!
38デフォルトの名無しさん:2014/12/13(土) 00:16:10.86 ID:DBa1UdFN
>>25のパターンだと言語指定してくるのが普通じゃないの
39デフォルトの名無しさん:2014/12/13(土) 01:49:39.47 ID:oJg8v8de
>>38
結果が欲しいだけなんだから過程はどうでもいいだろ
40デフォルトの名無しさん:2014/12/13(土) 03:37:59.44 ID:DBa1UdFN
言語指定しなかったばかりにどマイナー言語の回答しか集まらなかったらどうすんのさ
41デフォルトの名無しさん:2014/12/13(土) 03:56:16.38 ID:xVemfz4a
その言語を勉強して解読するのかな
42デフォルトの名無しさん:2014/12/13(土) 08:23:02.14 ID:3ehKG0WS
前スレの819
1個または連続した2個の石を取ることを、1手とする
最後に石を取った方が勝ち
つまり、最後の1手を指した方が勝ち

まず石の配置を正規化した、パターンを作る
連続する'_'を一つにまとめてから、両端の'_'を削除する
('o'は石あり、'_'は石の無い所)

両端は必ず、'o'となる
__o___oo_ → _o_oo_ → o_oo

パターンの種類は、'o','_'の数で整理する
また順列ではなく、'o'の数が右方向へ単調増加する、組み合わせとする
ooo_oo_o,oo_o_ooo なども、o_oo_ooo として扱う

o_o_oooo,o_oo_ooo はpat[6][2](o=6,_=2)に、リストとして保持する
ただし実際には、負けるパターンだけを持てば十分

パターンは64ビットマップで表す
(最大で'o'は32個、'_'は31個まで)
o_oo_ooo → 10110111
4342:2014/12/13(土) 08:24:20.70 ID:3ehKG0WS
最初の数字は'o'の数。W=Win,L=Lose
0 _ L
1 o W
2 oo W, o_o L
3 ooo,o_oo,o_o_o W
4 oooo,o_ooo,o_o_oo W, oo_oo,o_o_o_o L
5 ooooo,oo_ooo,o_oo_oo,o_o_o_oo,o_o_o_o_o W, o_oooo,o_o_ooo L
6 oooooo,以下略

今自分の手番で、'o'の数をnとして、
1,2個の石を取った際に、pat[n-1],[n-2]を走査して、
相手を負けパターンに出来れば、自分が勝てる
o_ooo (2個取る)→ o___o → o_o L

一方、次のパターンでは、どのような取り方をしても、
相手を負けパターンに出来ない
oo_oo →(無理) o_o L

このやり方で正しい?
44名無しさん@そうだ選挙に行こう:2014/12/13(土) 13:18:09.53 ID:rnBmLeLt
じゃあ次の課題
「平方根関数を使わずに任意の正の整数および0の根を求めるプログラム作を成せよ」
45名無しさん@そうだ選挙に行こう:2014/12/13(土) 13:44:27.52 ID:3mgTh/5d
>>44
暇つぶしの材料としては否定しないが、なんか学校の課題感ありありだなあw
大昔Pascal(笑)でそんな課題を出されたぞw
46名無しさん@そうだ選挙に行こう:2014/12/13(土) 14:32:46.02 ID:Pw3nm5GK
>>44
問題ではなく課題でしかないな

なめとんのか
47名無しさん@そうだ選挙に行こう:2014/12/13(土) 15:03:49.75 ID:64FChpjC
>>45
まあやったことないけどpascalでも余裕でしょうな

>>46
気に入らなけりゃスルーしてればいいんだよ
解答例は用意してあるんであしからず
48名無しさん@そうだ選挙に行こう:2014/12/13(土) 15:49:59.30 ID:toJAZvUP
49名無しさん@そうだ選挙に行こう:2014/12/13(土) 16:48:47.17 ID:elgmXnKG
50名無しさん@そうだ選挙に行こう:2014/12/13(土) 16:58:18.62 ID:toJAZvUP
51名無しさん@そうだ選挙に行こう:2014/12/13(土) 17:13:51.04 ID:KY++hnMi
>>47
馬鹿はきらいなんだ
レスするなクズ
52名無しさん@そうだ選挙に行こう:2014/12/13(土) 18:16:22.29 ID:Zl6nY2in
解答が出揃ったようだから添削といくか

最初に断わっておくが、問題文に平方根関数となっているのは
初心者が「pow関数なら使っていいのか」と質問した時それを拒絶するために仕込んでおいたものなのに
>>49のような解答が出てしまうとはwwww

せめて指数対数関数を使ってほしかった
53名無しさん@そうだ選挙に行こう:2014/12/13(土) 18:17:35.91 ID:Pw3nm5GK
>>52
お題スレを授業スレにしようとしている精神病

お前、バカ凄る
54名無しさん@そうだ選挙に行こう:2014/12/13(土) 18:27:15.24 ID:aWFoLZL3
山下さんそろそろVIPに帰ってくれませんか?
55名無しさん@そうだ選挙に行こう:2014/12/13(土) 18:34:18.03 ID:Zl6nY2in
解答例

#include<iostream>
using namespace std;

int main(){

int a;
double p,q;
cout << "入力した整数の平方根を求めるプログラム\n";
cout << "正の整数を入力してください。\n";
cin >> a;
p = 10; q = 1;

if(a<0) {cout << "正の整数を入力してください\n";}
else if(a == 0){cout << 0;}
else{
while(q > 0.0001){

q = (p*p-a)/(2*p);
p = p - q;
}

cout << "√" << a << " = " << p << "\n";
}
return 0;

}
56名無しさん@そうだ選挙に行こう:2014/12/13(土) 18:42:19.92 ID:Zl6nY2in
どうでもいいけど>>44はプログラミング初歩において非常に有名な問題で
>>55は微分使ったニュートン法による手法な
57名無しさん@そうだ選挙に行こう:2014/12/13(土) 18:44:04.97 ID:KY++hnMi
げ!精神病連投中か!!
58名無しさん@そうだ選挙に行こう:2014/12/13(土) 19:16:48.12 ID:toJAZvUP
えー、マジニュートン法?
ちょっとがっかり。
ニュートン法なら奥村先生のが好きだな。

>>44 Perl
http://ideone.com/cRklMo
59名無しさん@そうだ選挙に行こう:2014/12/13(土) 19:21:35.29 ID:Zl6nY2in
ほかには開平法と呼ばれるテクニックもある

筆算でやるならニュートン法より断然容易
しかしプログラミングでとなると初心者ではまず無理だろう
60名無しさん@そうだ選挙に行こう:2014/12/13(土) 22:27:28.76 ID:D/Sa6FVu
二分法でも解けるよ。
61名無しさん@そうだ選挙に行こう:2014/12/13(土) 23:06:19.77 ID:K/9GRqnp
前スレのゲキモンとかいうアプリの解法を導く奴が一番やりがいあったな
62名無しさん@そうだ選挙に行こう:2014/12/13(土) 23:13:15.78 ID:DBa1UdFN
あれが一番>>25くさいけどね
63名無しさん@そうだ選挙に行こう:2014/12/13(土) 23:23:45.88 ID:K/9GRqnp
あれも質問スレに貼られてたのを転載されたものだったからね
それでも最初からこっちで人に作らせる>>20よりまし
64名無しさん@そうだ選挙に行こう:2014/12/13(土) 23:37:37.45 ID:DBa1UdFN
麻雀なんかそこらにあり溢れてるから今更感だが
ゲキモンのやつは今ブームが来てんなら解法アプリとか売れるし
より>>25ぽいけどなあ
65デフォルトの名無しさん:2014/12/14(日) 00:29:28.84 ID:6LJEBlWP
解答1問につき100円だっけ?
66デフォルトの名無しさん:2014/12/14(日) 00:32:52.50 ID:M93peGup
仮に>>21の奴が>>25で無かったとしても
問題を解くのに必要な麻雀の基本ルールも書かず出題するのは不適当だと思う
麻雀知らない奴は問題に挑戦できないわけだし
麻雀は万人が知っているようなゲームじゃない
67デフォルトの名無しさん:2014/12/14(日) 00:37:01.41 ID:nynaMPBw
>>66
なんか絵に描いたような今時の若者(自己中心バカ)の思考で笑えるなw
68デフォルトの名無しさん:2014/12/14(日) 01:17:59.83 ID:Hln0TfNs
>>67
君は頭の悪さが文章に滲み出てるよ
馬鹿にされて頭に来て出てきちゃったの?
69デフォルトの名無しさん:2014/12/14(日) 01:39:43.18 ID:Z+1Tn179
クリスマスなせいかどの板のどのスレも殺伐としてるな
70デフォルトの名無しさん:2014/12/14(日) 01:52:20.00 ID:5xeR6x0m
クリスマスが気になるうちは素人
71名無しさん@そうだ選挙に行こう:2014/12/14(日) 03:46:37.53 ID:6LJEBlWP
>>66
別にguess系のようにルールを伏せているわけじゃないし
こういうスレなんだから事前に調べるのでもおkでしょ
激問の方が麻雀よりも認知度は低いと思いますが前スレの出題にはルールは書かれていませんでいたよ
72名無しさん@そうだ選挙に行こう:2014/12/14(日) 03:56:46.98 ID:quX5gTZ+
ルール説明するYouTubuの動画のリンクが貼ってあったじゃん
73名無しさん@そうだ選挙に行こう:2014/12/14(日) 05:13:58.27 ID:VLT6hKdw
>>60
二分法だと
http://ideone.com/U94bCS (>>55を拝借)
かな。
74名無しさん@そうだ選挙に行こう:2014/12/14(日) 05:52:21.82 ID:6LJEBlWP
>>72
それをクリックして初めてルールを知ることができるんだろ?
何やら言ってるけど単に自分が楽しめたかどうかだけに見える
75名無しさん@そうだ選挙に行こう:2014/12/14(日) 15:39:44.92 ID:rKAd2b/X
激問は良問。
ルールはシンプルで解くのは易しくない。
ルービックキューブ、15パズル、オセロに匹敵。
いままで人類がこのゲームを発見しなかったのが不思議。
速度的に良いのはできてないと思う。
ルールわからなくてできないのはいる?
76名無しさん@そうだ選挙に行こう:2014/12/14(日) 16:57:11.94 ID:M93peGup
ゲキモンの広告スレかよここ
77名無しさん@そうだ選挙に行こう:2014/12/14(日) 18:05:06.12 ID:aXRZQwQ1
スライドパズルの変形でありながらルールの性質上実物のコマを使ってやるには不向きだから
思い付いたとしても広まらなかっただけだろというか
電子ゲーム時代になってからは類似のものはよくあって
アクションやRPGのちょっとした謎解きにも出てくるレベル

正解率が表示されるとか魅せ方の部分が大きいとは思うが
78デフォルトの名無しさん:2014/12/15(月) 04:50:44.33 ID:UQ+hMbpx
  |=番兵|_
 (  ・ω・) < オハヨウナノン
  〇={=}〇
  |::::::::::\
、、、し 、、、(((.@)now、snow、、snow
79デフォルトの名無しさん:2014/12/15(月) 06:54:35.57 ID:j2Z0Uluh
お題:以下の数式のそれぞれの□に 0 〜 9 のいずれか一つを入れて数式を成立させたい。
ただし、一つの数字を二つ以上の□に入れるということはできないとする。
整数の左端に 0 がある場合はそれを略す。例えば「012」は「12」に等しいとする。
□×□□+□□□=□□□□
数式を成立させるような整数の組の総数を求めよう。
80デフォルトの名無しさん:2014/12/15(月) 07:33:12.60 ID:GJ+wxPK4
81デフォルトの名無しさん:2014/12/15(月) 12:55:09.59 ID:UqthbeWt
>>79 J
f =: 3 : 0
c =. 0
for_i. (i.!10) do.
a =. i A. '0123456789'
w =. (". 6 7 8 9 { a) = ((". 0 { a) * (". 1 2 { a)) + (". 3 4 5 { a)
c =. c + w
end.
c
)

f ''
350
82デフォルトの名無しさん:2014/12/15(月) 23:20:55.29 ID:ZEKSsISJ
>>76
一方スマホアプリ板の本スレはあまり伸びてないらしいという
83デフォルトの名無しさん:2014/12/15(月) 23:26:01.20 ID:EAB093cZ
そもそもスマホの主なユーザ層の若い世代は2chをあまり見ないのでは…?
84デフォルトの名無しさん:2014/12/15(月) 23:29:23.14 ID:EAB093cZ
つか専用スレが立つくらいなら
相応の支持のあるゲームですよねえ
85デフォルトの名無しさん:2014/12/17(水) 01:56:33.81 ID:1sjT5Wv/
  |=番兵|_
 (  ・ω・) < ステンバーイ
  〇={=}〇
  |::::::::::\
、、、し 、、、(((.@)ce、、ice、snow、、ice
8642:2014/12/17(水) 03:14:38.33 ID:ofMhppYe
>>42-43
前スレの819の問題で、誰もこのやり方で、
負けパターンのリストを、作らずに解いたの?

誰か、リストを作って解いた人いる?
87デフォルトの名無しさん:2014/12/17(水) 03:25:41.94 ID:KcR7p2QV
前スレに貼り付けられた回答コードを見てけばいいんじゃないの
88デフォルトの名無しさん:2014/12/17(水) 07:41:39.90 ID:LOGJmD8X
>>86
グランディ数でググるよろし
89デフォルトの名無しさん:2014/12/22(月) 11:15:57.59 ID:9OjxlKCG
お題:
15パズルの問題を高速に生成するプログラム。
基本形に到達できる入れ替えに限る。
90デフォルトの名無しさん:2014/12/22(月) 11:37:52.99 ID:f62n1e8a
91デフォルトの名無しさん:2014/12/22(月) 12:59:20.84 ID:xGNlmGhJ
>>89
ttp://ideone.com/wfUZtq
C++。基本的に解けない問題は出さないはずだが質の悪い問題は結構出す。はず。
実際解くのはメンドくせーのでほぼデバッグしてません。
92デフォルトの名無しさん:2014/12/22(月) 16:28:08.84 ID:qbTGJZGl
>>90
バレたか。 ネタ元は、
新潮選書 「3」の発想 数学教育に欠けているもの 単行本 – 2009/10/24
芳沢 光雄 (著)

>>91
なるほど。
93デフォルトの名無しさん:2014/12/22(月) 16:30:56.24 ID:/hhsv/vC
>>90のフォローがなかったら>>25
94デフォルトの名無しさん:2014/12/22(月) 16:33:21.03 ID:/hhsv/vC
問題生成なんかより解なし解ありの判定のほうがお題として面白かったんじゃなかろうか
95デフォルトの名無しさん:2014/12/22(月) 16:55:55.56 ID:f62n1e8a
96デフォルトの名無しさん:2014/12/22(月) 17:05:41.59 ID:4+fOtis+
>>29-30の流れを維持しようとしてるのは麻雀くんかな?
97デフォルトの名無しさん:2014/12/22(月) 18:56:01.25 ID:/5mhYHra
最短手順が長い問題を生成
98デフォルトの名無しさん:2014/12/22(月) 21:26:44.87 ID:xGNlmGhJ
>>92
ゲーム理論と算数で解けてるから数学なんてかんけーねー。と主張したい俺ダメ人間。
数学怖い。
99デフォルトの名無しさん:2014/12/23(火) 22:03:59.65 ID:Lhv9book
お題:要素数が3個の整数のリスト同士を位置に関係なく要素を比較したとき
一致するものが2個、一致しないものが1個となるかどうか判定する。

[1,2,3],[5,6,7] -> 偽
[1,1,1],[1,1,2] -> 真
[1,1,2],[2,2,1] -> 真
[9,8,9],[8,6,4] -> 偽
[9,7,2],[2,2,9] -> 真
100デフォルトの名無しさん:2014/12/23(火) 22:07:46.03 ID:LdSANHZC
[123][123]=?
101デフォルトの名無しさん:2014/12/23(火) 22:09:02.31 ID:5g0taQsy
>>100
偽だろそりゃ
102デフォルトの名無しさん:2014/12/23(火) 22:09:37.53 ID:gaFUyFOj
>一致するものが2個、一致しないものが1個となるか

[123][123]=偽
103デフォルトの名無しさん:2014/12/23(火) 22:10:15.71 ID:w8fvNum1
>>99
なんか手ごたえなさ過ぎてやる気出ないよそれ...
104デフォルトの名無しさん:2014/12/23(火) 22:13:42.37 ID:gaFUyFOj
学校の宿題と言われても納得のレベル
105デフォルトの名無しさん:2014/12/23(火) 22:33:00.86 ID:egk/n0nz
>>99
ソートしてから前から走査すればいい
おわり。はい次。
106デフォルトの名無しさん:2014/12/23(火) 22:45:13.88 ID:LdSANHZC
>>99
ttp://ideone.com/AVMmDx
C++。あってるかな。
暇だったので解いた。あってるかどうかは知らん。
速度重視で。
107デフォルトの名無しさん:2014/12/24(水) 02:13:19.38 ID:QdJY5kMF
[1,1,1],[1,1,2] -> 真
これは一致している数字は 1 だけなのに何で真なんだ?

[1,1,2],[2,2,1] -> 真
これも分からん。1 も 2 も両側にあるから、一致している数字は 2 個で一致しない数字は 0 個では?
108デフォルトの名無しさん:2014/12/24(水) 03:33:58.32 ID:Y7j7WALA
>>107
要素の並び順を考慮しないだけであって
要素の重複は別途数えるってだけっしょ
考え方としては一致したものをリストから除いていくと考えればいいんじゃね
[1,1,1],[1,1,2] -> 1が一致 [1,1],[1,2] -> 1が一致 [1],[2] -> 残り不一致 -> 一致するものが2個、一致しないものが1個なので真
[1,1,2],[2,2,1] -> 1が一致 [1,2],[2,2] -> 2が一致 [1],[2] -> 残り不一致 -> 一致するものが2個、一致しないものが1個なので真
109デフォルトの名無しさん:2014/12/24(水) 13:40:47.77 ID:mx5B7sKs
>>99
こんな判定が何の役に立つんだ?
110デフォルトの名無しさん:2014/12/24(水) 13:49:50.19 ID:n8oxVcuc
科学技術計算的に必要なのかねー??自分もさっぱりだ。
111デフォルトの名無しさん:2014/12/24(水) 16:37:29.43 ID:ioNhDOiv
縦横8*8 マスのチェス盤の、
左上の角の位置に、ナイトがある

その位置を開始点として、
そこから移動できるすべてのマスへの、最短手を答えよ

ナイトは1手で全方向へ、縦1横2、または縦2横1へ移動する
例えば、(5,5)の位置から、(4,3)(7,6)などに移動できる

仮に開始点を、(0,0)とすると、(1,2)(2,1)は1手で行ける
112デフォルトの名無しさん:2014/12/24(水) 18:07:52.12 ID:i81GQnYc
113デフォルトの名無しさん:2014/12/24(水) 19:24:43.81 ID:Wq6i2xwr
お題:
A君とB君は二人三脚で100mの直線コースを走る。
コースの途中には赤と青の旗が10本ずつ置かれており、
それぞれ1番から10番までの番号が書かれている。
ただし、旗の位置や番号の並びはランダムである。
A君は赤の旗を、B君は青の旗をそれぞれ番号順に
すべて取らないとゴールできない。各旗の位置が
与えられたとき、2人は最短で何m走る必要があるか求めよ。

10,20,30,40,50,60,70,80,90,99,
90,80,70,60,50,40,30,20,10,1,
=> 278 (0->90->1->100の順に走る)
114デフォルトの名無しさん:2014/12/24(水) 21:00:33.21 ID:0pxVS+GL
>>99 Io
f := method(a, b,
for(i, 0, 2,
c := 0
for(j, 0, 2, if(a at(j) == b at((i + j) % 3), c = c + 1))
if(c == 2, return(true))
)
false
)

Io> f(list(1,2,3),list(5,6,7))
==> false
Io> f(list(1,1,1),list(1,1,2))
==> true
Io> f(list(1,1,2),list(2,2,1))
==> true
Io> f(list(9,8,9),list(8,6,4))
==> false
Io> f(list(9,7,2),list(2,2,9))
==> true
115デフォルトの名無しさん:2014/12/25(木) 00:05:23.48 ID:fNYkbBcD
>>99 Clojure
結構手応えあった。
http://ideone.com/CYKe3K
116デフォルトの名無しさん:2014/12/25(木) 00:10:05.11 ID:WpMZaymj
>>109
プログラミング初心者に出す課題としてはまぁまぁの問題ではある
実用性うんぬんというなら統計データで特定の条件のデータを抜き出したいという事態に応用が・・・というくらいか?
117デフォルトの名無しさん:2014/12/25(木) 00:51:04.23 ID:T4hkRg5o
>>113 Java
http://ideone.com/lHFW4d
出来たが冗長
118デフォルトの名無しさん:2014/12/25(木) 01:13:18.20 ID:g3diUBPe
チマチマ比較せずに、順列を入れ替えた6通りの比較を並列にやって、一個でも
ヒットしたらtrueでいいだろ。
119デフォルトの名無しさん:2014/12/25(木) 01:59:26.63 ID:T4hkRg5o
>>113 Java
http://ideone.com/BOdzry
色々気にしない場合
120デフォルトの名無しさん:2014/12/25(木) 02:11:42.51 ID:WpMZaymj
>>113
これ↓のように置いて隣の数値との差を順番に足しこんでいくだけじゃねーの?
0,10,20,30,40,50,60,70,80,90,99,100
0,90,80,70,60,50,40,30,20,10,1,100
121デフォルトの名無しさん:2014/12/25(木) 02:12:21.57 ID:WpMZaymj
訂正、差じゃなくて、差の絶対値な
122デフォルトの名無しさん:2014/12/25(木) 02:35:46.66 ID:ELyjKCjH
123デフォルトの名無しさん:2014/12/25(木) 03:47:37.90 ID:WP7Aod+K
>>114
失敗した。間違っているのでこのコードは取り下げます
124デフォルトの名無しさん:2014/12/25(木) 05:02:38.89 ID:172BCr7q
激問いまから始めたけど、一手戻す局面を生成するのが面倒だな。
前スレでだれかいってたけど。
やればできる程度だけどミスや速度面で問題でやすそう。
125デフォルトの名無しさん:2014/12/25(木) 09:56:58.98 ID:LpH5Vq2m
>>99 Squeak Smalltalk

| fn |
fn := [:a :b |
 (a inject: b asBag into: [:rest :x |
  rest remove: x ifAbsent: []. rest]
 ) size = 1
].

fn value: #(1 2 3) value: #(5 6 7). "=> false "
fn value: #(1 1 1) value: #(1 1 2). "=> true "
fn value: #(1 1 2) value: #(2 2 1). "=> true "
fn value: #(9 8 9) value: #(8 6 4). "=> false "
fn value: #(9 7 2) value: #(2 2 9). "=> true "
126デフォルトの名無しさん:2014/12/25(木) 11:23:37.22 ID:QxQ1oAhK
>>99 Haskell

import Data.List
f xs ys = if 1==length(foldr delete xs ys)then True else False

f[1,2,3][5,6,7] --false
f[1,1,1][1,1,2] --true
127デフォルトの名無しさん:2014/12/25(木) 11:34:14.12 ID:fTgFJeSr
>>126
if-then いらんやんw
128デフォルトの名無しさん:2014/12/25(木) 11:34:42.67 ID:QxQ1oAhK
if式要らなかったわ。
129デフォルトの名無しさん:2014/12/25(木) 14:11:33.22 ID:VT84cn4h
>>124
1. 現局面から逆向きに動かせるブロックを列挙(ex. 1/2/3)
2. すべての動かしかたに対して(ex. 1/2/3/12/13/23/123)
-2-1 動かすブロックのみを逆に動かしてみる
-2-2 動かしてみた局面全体を順に動かしてみる
-2-3 順に動かした局面が現局面と同じなら、正しい一手戻り局面として登録

としてるけど、ほかにいい方法あるかな?
130デフォルトの名無しさん:2014/12/25(木) 19:17:53.07 ID:Qgm6XcOp
激問は禁止でいいんじゃなかろうか
131デフォルトの名無しさん:2014/12/25(木) 19:55:10.98 ID:WP7Aod+K
>>99 Io
f := method(a, b,
b foreach(v,
p := a indexOf(v)
if(p, a removeAt(p))
)
a size == 1
)
132デフォルトの名無しさん:2014/12/25(木) 21:34:07.34 ID:FmLhwL13
>>129
俺は幅優先検索をスタート、ゴール両側からやって。
ゴール側は一々ゴールに戻れるか手順を完全に逆戻りして検証してる、凄い無駄。
スタート側からだけ検索をかけた方が早かったりorz。
今気がついたけど今までの手順で戻れることが解ってるから新たな一手の検証で
いいだな、我ながら脳味噌腐ってやがるw。

問題によってはメモリ(16GB)使い果たしてOSから死ね(kill singnal 9)って言われる。
OS X,Gaucheで実装。
133デフォルトの名無しさん:2014/12/25(木) 23:12:44.03 ID:BwvRq+pS
>>130
アプリの本スレでもおなじ話題になってるから、
ゲキモン話したい奴らはスマホアプリ板に行けばいいと思う
134デフォルトの名無しさん:2014/12/26(金) 00:07:24.44 ID:HP9WNxt/
ゲキモンゲットーだぜ
135デフォルトの名無しさん:2014/12/26(金) 04:46:12.78 ID:fnDLLhrS
なんでゲキモンダメだよ?
専用スレ・携帯板こそ、プログラムでなく人動でゲームとして遊ぶスレではないのか。
136デフォルトの名無しさん:2014/12/26(金) 05:51:15.48 ID:RE4uws7P
>>111 Io
f := method(i, n,
if(n > 6 or a at(i) < nil, return )
a atPut(i,n)
list(-25, -23, -14, - 10, 10, 14,23, 25) foreach(v, f(i + v, n + 1))
)
a := List clone setSize(144) map(0)
for(i, 26, 110, 12, for(j, 0, 7, a atPut(i+j,9)))
f(26, 0)
for(i, 26, 110, 12, for(j, 0, 7, a at(i + j)print) writeln)
----
03232345
34123434
21432345
32323434
23234345
34343454
43434545
54545456
137デフォルトの名無しさん:2014/12/26(金) 06:10:30.27 ID:9Bx+rxwu
単一ゲームの解法を探すスレではないだろ
138デフォルトの名無しさん:2014/12/26(金) 10:29:41.50 ID:5KqGgVdh
>>79 R
http://ideone.com/eQumEY

>>99 R
http://ideone.com/3BECgn

チェスも二人三脚もさっぱり分からん。
139デフォルトの名無しさん:2014/12/26(金) 15:34:07.54 ID:fnDLLhrS
ゲキモンの戻す手はこれが最善では?
一列の一方移動だけを予め計算しておけば、回転、反転と列・行の合成で全体移動は簡単に求まる。
8マスに空、パネル、壁の3種がある場合の数は3^8。
それら全ての順方向移動を計算して、移動後の形をインデックスとした配列を求める。
140デフォルトの名無しさん:2014/12/26(金) 19:59:19.64 ID:RE4uws7P
>>99 J
f=: 4 :'+./ 2 = +/"1 x ="1 (i.(! # y)) A. y'

1 2 3 f 5 6 7
0
1 1 1 f 1 1 2
1
1 1 2 f 2 2 1
1
9 8 9 f 8 6 4
0
9 7 2 f 2 2 9
1
141デフォルトの名無しさん:2014/12/27(土) 04:25:11.40 ID:wAgkNNIo
お題 : 四つの文字 F, G, +, - から成る文字列を次の規則 (1), (2) によって次々と書き換えていくことを考える。
( 一つの文字列に対して規則 (1) と規則 (2) を同時に適用して新しい文字列を得る。その文字列に対してまた規則 (1) と
規則 (2) を同時に適用して新しい文字列を得る。以下同様に繰り返す。 )

規則 (1) … F は F-F-F-GG に変換する、
規則 (2) … G は GG に変換する。

初期文字列 ( 第 0 ステップの文字列 ) を F とする。第 1 ステップの文字列は F-F-F-GG となり、第 2 ステップの文字列は
F-F-F-GG-F-F-F-GG-F-F-F-GG-GGGG となる。第 8 ステップの文字列を求めよ。
142デフォルトの名無しさん:2014/12/27(土) 04:37:00.70 ID:/Rtgkvjz
>>141
+はどこいった?
143141:2014/12/27(土) 04:52:03.50 ID:wAgkNNIo
+ は旅に出たので探さないでください…
144デフォルトの名無しさん:2014/12/27(土) 11:40:34.24 ID:BPM46SyT
>>99
今更だが
Schemeで

http://codepad.org/zhhogNke
145デフォルトの名無しさん:2014/12/27(土) 13:07:22.88 ID:VJUV41TP
>>141
Scheme
出題者は第8ステップ変換後の文字列の長さを自覚しているのだろうか?
29011文字となり結果を表示できるような長さではない

http://codepad.org/f8xXJWLm
146デフォルトの名無しさん:2014/12/27(土) 13:29:45.25 ID:xVA+RyeM
ideoneで試してみると表示されたし、3万字くらいブラウザに表示してみると大した長さではない
http://ideone.com/wiQjQj
147デフォルトの名無しさん:2014/12/27(土) 15:37:59.94 ID:Tra0DcGu
148デフォルトの名無しさん:2014/12/27(土) 20:30:24.63 ID:miqkgc9t
整数 N が与えられた時に
1 2 3 4 5 6 7 8 9 10 = N
に、適当に + - * / や ( ) を入れて = N に出来るかどうか判定する。
例えばこんな感じ。
(1+(-2))/(-3)*(-4)*(-5)*(-6)*(-7)-(-((+(8*(-9)))*(-10))) = 1000
数字の間に何も入れずに
1 2 3 を 123 と解釈するのは無し。
あんまり面白くないかな。
149デフォルトの名無しさん:2014/12/27(土) 21:41:08.06 ID:tOfexSf5
カッコの処理がメンドくせーなぁ。うーん。
150片山博文MZ ◆T6xkBnTXz7B0 :2014/12/27(土) 21:46:54.61 ID:Cc0RXd7d
カッコは連結順序を変えるだけ
151デフォルトの名無しさん:2014/12/27(土) 21:55:24.27 ID:2dHAjI9B
逆ポーランド
152デフォルトの名無しさん:2014/12/27(土) 22:08:53.94 ID:0/FJBHBn
数字の前後に挿入可能な演算記号を総当たりで入れていく。
枝刈りで計算量を抑える。具体的にどうするかは知らん。

演算は加減乗除だけかな。べき乗とかルート記号とか
対数とか剰余とか使えそうな記号なんでも使っていいと
なると大変かな。Nも有理数や実数まで範囲を広げると大変かな。
153111:2014/12/27(土) 22:13:05.21 ID:u+dBZrZs
>>138
ナイトは八方桂馬のこと。
全方向(八方)へ、縦1横2、または縦2横1へ移動できる

例えば、(5,5)の位置から、(4,3)(7,6)など8か所へ移動できる
154デフォルトの名無しさん:2014/12/27(土) 22:14:04.80 ID:PYmd3Xah
数式をツリーで表現するのは割と簡単でも、結局総当たりでしか解けないから
いまいち面白くないな。

あと全部の組み合わせを列挙すると膨大になるのと、ツリーを式に変換するのが以外と難しい。
155片山博文MZ ◆T6xkBnTXz7B0 :2014/12/27(土) 22:18:29.79 ID:Cc0RXd7d
>>154
演算子の優先順位の比較に従ってカッコを付けるかどうか決める
156片山博文MZ ◆T6xkBnTXz7B0 :2014/12/27(土) 22:20:25.30 ID:Cc0RXd7d
木構造をなめるのは再帰を使う
157デフォルトの名無しさん:2014/12/28(日) 09:16:33.33 ID:GqM4jvZj
お題:関数fの引数aが空リストである時,
f(a)が値を返すなら真を返し,
f(a)が値を返さないなら偽を返す関数jdを作れ
(作れない時はプンプン怒れ.ただし俺に怒りを向けないでほしい)

例1 関数f1の場合,
f1(a) = if (a is empty list)

           then answer("empty list")

           else answer("not empty list")

f1は空リストに対し値"empty list"を返すので
jd(f1) -> 真

例2 関数f2の場合
f2(a) = f2(a)
f2は全ての引数に対して値を返さないので
jd(f2) -> 偽
158デフォルトの名無しさん:2014/12/28(日) 09:23:38.34 ID:GqM4jvZj
>>157
補足
関数jdは部分関数ではなく完全関数として定義すること
159デフォルトの名無しさん:2014/12/28(日) 11:29:43.73 ID:HTDd5uR9
>>157
shell
function jd() { $1 | timeout $((548 * 10 ** 10))d grep -q "." }
160デフォルトの名無しさん:2014/12/28(日) 14:17:01.62 ID:sYWqNXaa
お題: 年越し問題
以下のように「煩」「悩」「空」の文字が8×7に配置されている(あなたの頭の中である)

煩悩煩悩煩煩悩煩
煩煩悩空悩悩悩悩
悩空悩空悩空悩煩
空煩煩悩悩悩煩煩
悩悩悩煩悩煩煩悩
煩悩空空悩煩悩煩
煩煩煩悩煩空悩煩

任意の文字を「鐘」に変えて、
縦・横・斜めに「煩」と「悩」が隣接しないようにしたい
最小の「鐘」の数を求めよ

これはNG(斜めに「煩悩」がある)
空悩
煩空

これはOK
煩鐘悩
煩鐘悩
161デフォルトの名無しさん:2014/12/28(日) 18:51:21.89 ID:A4cNcICK
162デフォルトの名無しさん:2014/12/29(月) 02:36:47.69 ID:OgrteGKW
>>160 Java
http://ideone.com/5lt5Y6
合ってんのかこれ
163デフォルトの名無しさん:2014/12/29(月) 02:38:11.57 ID:OgrteGKW
あれ、なんかおかしいわw
164デフォルトの名無しさん:2014/12/29(月) 02:44:09.32 ID:OgrteGKW
>>162
明らかにおかしかった初期化バグは退治された。
だけど結果は合ってんのかこれ。
165デフォルトの名無しさん:2014/12/29(月) 04:47:36.98 ID:naIzv4vi
166片山博文MZ ◆T6xkBnTXz7B0 :2014/12/29(月) 05:19:20.46 ID:k/a0XR+r
お題:お使いの言語で次の計算を確かめる。

-zero * +inf == ?
+inf + -inf == ?
-inf / -inf == ?
-nan * +zero == ?
+zero * -zero == ?
+nan - +nan == ?
167デフォルトの名無しさん:2014/12/29(月) 09:53:22.96 ID:kUb0OfEc
>>157
人気ないな、教科書的すぎたか
自己レス、(;´д`)トホホ…
間違ってるかもしれないけど

http://codepad.org/5Z320f07
168デフォルトの名無しさん:2014/12/29(月) 10:45:02.31 ID:iQoYiA7Z
お題:前に詰めた

初売りのためにお客さんが並んでいます。
店の前の32マスにはお客さん(i)、空き(.)、警備員(P)がいます。

← 前
店 iii.ii.i..ii..P.ii..i..Pii.ii...

混んできたので一歩前に詰めてもらうことにしました。
前方のお客さんから順に前に空きがあれば一歩前に進んでもらいます。
空きが複数あっても、進むのは一歩だけです。
警備員は動かず、お客さんは警備員を越えられません。

店 iii.ii.i..ii..P.ii..i..Pii.ii...

店 iiiii.i..ii...Pii..i...Piiii....

さて、前に詰めた状態が与えられたとき、
詰める前にあり得たすべての状態を示してください。
たとえば、以下のようにあり得た状態がない場合もあります。

店 ......iP(以下略)
169デフォルトの名無しさん:2014/12/29(月) 10:55:59.67 ID:OgrteGKW
>>168
激問の逆方向探索と同じよーな…
170デフォルトの名無しさん:2014/12/29(月) 10:59:01.64 ID:iQoYiA7Z
>>169
バレたw
こうすればいいのかなと思ってw
171デフォルトの名無しさん:2014/12/29(月) 11:46:02.05 ID:Ms14FqLW
馬鹿には無理
172デフォルトの名無しさん:2014/12/29(月) 12:50:15.22 ID:O818Lvaa
激問の他力本願野郎はいい加減消えろよ
173デフォルトの名無しさん:2014/12/29(月) 15:33:42.55 ID:onEpMpuY
>>168
解いてあげたから激問にも活かしてね
http://ideone.com/mEYVT2
174デフォルトの名無しさん:2014/12/29(月) 21:20:23.49 ID:hrQe0PF1
ゲキモンは解かせたい奴がいて、そいつが一人で張り切ってるというわけではないだろ?
自分もやってみようとしてるけど完成までいってない。
ルールは簡単で、探索部分は各種ゲームに共通して高速化などの工夫するモデルとして適当。
175デフォルトの名無しさん:2014/12/29(月) 21:44:31.35 ID:AXqZfHT5
お題を出すからには模範解答を用意しとけって話だよ
176デフォルトの名無しさん:2014/12/29(月) 21:53:38.27 ID:ijV2qLIL
それはそうだ。
177デフォルトの名無しさん:2014/12/29(月) 22:02:46.06 ID:TmQI76a9
プログラミングのお題スレ Part6©2ch.net
178デフォルトの名無しさん:2014/12/29(月) 22:09:48.65 ID:88bYnTsn
解けるのが確かなら、模範解答はいらんけど
179デフォルトの名無しさん:2014/12/29(月) 22:12:03.87 ID:ZMsPaQMv
解答付ける場合は模範でなくてもいい気が
180デフォルトの名無しさん:2014/12/29(月) 22:12:15.20 ID:L6ykxqhk
>>160
C#
http://ideone.com/gGJjKo
これでいいのかよくわからん。
実行効率は考えずに可読性とコンパクトさだけを考えて書いたから無駄が多い。
181デフォルトの名無しさん:2014/12/29(月) 22:28:41.79 ID:AXqZfHT5
>>178
解けるのが確かなら、模範解答は作れるはずだけどな
182デフォルトの名無しさん:2014/12/29(月) 22:38:24.24 ID:OgrteGKW
>>180
煩煩煩煩煩
煩悩悩悩煩
煩悩煩悩煩
煩悩悩悩煩
煩煩煩煩煩

こういう形だと9個鐘にならん?
183デフォルトの名無しさん:2014/12/29(月) 22:42:53.44 ID:L6ykxqhk
>>182
なっちゃうねw
根本的に考え方が間違ってるのか...
184168:2014/12/29(月) 22:59:36.09 ID:iQoYiA7Z
>>168
模範解答になるかはわからないけど129の方法で作ってはある
C
http://ideone.com/pP7FSv
Prologわけわからんw
185デフォルトの名無しさん:2014/12/29(月) 23:04:00.15 ID:MGpqJSmu
というか激問は荒れるからサヨナラしたい
186デフォルトの名無しさん:2014/12/30(火) 03:48:26.20 ID:8nm/692r
>>111
みんな、番兵・優先度キュー・ダイクストラなどを、
使って解いたの?

>>42-43
連続した空所(石の無い所)を、1つにまとめたり、
両端の空所を削除して、
石のパターンを正規化して保存して、解いた人いる?

__o___oo_ → _o_oo_ → o_oo
187デフォルトの名無しさん:2014/12/30(火) 05:58:44.04 ID:NIJEvlrs
188デフォルトの名無しさん:2014/12/30(火) 08:51:31.67 ID:NxxFJ2Ok
>>148
誰かお願いします。
こういうのはどんなデータ形式で問題を表現すれば良いのでしょうか?
189デフォルトの名無しさん:2014/12/30(火) 09:44:30.03 ID:vPTYHLe9
>>188
まず出題者が模範解答を書いてから。
190デフォルトの名無しさん:2014/12/30(火) 16:09:17.23 ID:VtLWUdXV
>>167
面白かったですありがとう
191デフォルトの名無しさん:2014/12/30(火) 20:08:43.11 ID:+Lnp2Jgo
>>188
一応書いたけど組み合わせ爆発起こして永延と計算し続けるw
192デフォルトの名無しさん:2014/12/30(火) 21:16:02.42 ID:vNwijaqn
カッコなかったら、10!^4くらいで終わりそうなんだけど、かっこあったらいくらでも変化有るので厳しい。
193デフォルトの名無しさん:2014/12/30(火) 21:45:11.55 ID:+Lnp2Jgo
9個の演算子の組み合わせが94143280通り
括弧によって演算順が任意になるので
これを数字の入れ替えで対応して3628800通り
合わせて341627134464000通りじゃない?
194デフォルトの名無しさん:2014/12/30(火) 22:02:22.30 ID:cPALYY2N
>>184
negaいらない

51 unsigned long b = min;
69 } while (b = ((b | nega) + min) & move_R);

51 unsigned long b = move_R;
69 } while (b = (b - min) & move_R);
195デフォルトの名無しさん:2014/12/30(火) 22:23:27.48 ID:tRloJVn4
テンパズルの解の探索 - 数学自由研究
http://azisava.sak ura.ne.jp/math/ten_puzzle.html


完全版 テンパズル (10puzzle) 全問題 全解答一覧: はまのおと
http://hama-1987.cocolog-nifty.com/blog/2014/08/10puzzle-3de2.html
196デフォルトの名無しさん:2014/12/30(火) 22:51:44.24 ID:XXXHWySa
>>193
括弧を自由に使えて演算の順序は自由に入れ替えできるんだから
結局等価な二分木で考えて良いってことじゃないか。

そうすると、二分木の形の組み合わせが10 * (9!) * (9!) / 2 通り、
最初の10コの数字を除くノードの数は45、ノード(演算子)の種類は+、*、/の3つ、
符号(-)の組み合わせがノードごとに4通りだから、

5 * (9!) * (9!) * 45 * 3 * 4 = 355,541,114,880,000

このぐらいかなあ。
197デフォルトの名無しさん:2014/12/30(火) 23:23:41.77 ID:PNiPHmHi
1 2 3 4 = Nの場合だと
N=0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,19,20,21,23,24,25,28,36の25個(負数入れたら49個)で合ってるかな?
198デフォルトの名無しさん:2014/12/31(水) 04:22:45.74 ID:e3nqTxFR
>>196
終わらんなー。一目見て嫌気がさすわけだ。
199デフォルトの名無しさん:2014/12/31(水) 06:13:21.62 ID:797dGgIL
(((((((1+2)+3)+4)-5)*6)+7)*((8+9)+10)) = 999
((((((((1+2)+3)+4)+5)+6)+7)+(8*9))*10) = 1000
-((((((1+2)+3)+4)-5)+6)*((7-8)-(9*10))) = 1001
-(((1+2)*3)*((4-((5*(6+7))*(8+9)))-10)) = 9999
(((((1+2)+3)+4)*((5+((6+7)*8))-9))*10) = 10000
(((1+2)/3)+((4*5)*((6+((7*8)*9))-10))) = 10001
こんなん出来たが不必要な括弧を消していないw

1 2 3 4 5 6 7 8 = Nだと探索完了(Nが見つからなかった場合)まで5,732ms
1 2 3 4 5 6 7 8 9 = Nだと探索完了まで159,835ms
1 2 3 4 5 6 7 8 9 10 = Nだと…?
200デフォルトの名無しさん:2014/12/31(水) 07:36:12.40 ID:FZ7B/GlD
ここの人ってCodeforcesやTopcoderはやらないの?
Topcoderスレ過疎ってて寂しいんだけど。
201デフォルトの名無しさん:2014/12/31(水) 07:47:53.91 ID:J7eQL95T
プロコンはtwitterのイメージだが
202デフォルトの名無しさん:2014/12/31(水) 08:21:19.39 ID:797dGgIL
((1+2+3+4-5)*6+7)*(8+9+10) = 999
(1+2+3+4+5+6+7+8*9)*10 = 1000
-(1+2+3+4-5+6)*(7-8-9*10) = 1001
-(1+2)*3*(4-5*(6+7)*(8+9)-10) = 9999
(1+2+3+4)*(5+(6+7)*8-9)*10 = 10000
(1+2)/3+4*5*(6+7*8*9-10) = 10001
括弧を整理して出力するようにしたらこうなった

ところでコードは出題者の模範解答が出るまで貼らない流れなの?
203デフォルトの名無しさん:2014/12/31(水) 11:14:56.65 ID:tbkKnY0y
>>202
数式の無駄な括弧を除去する
にはどうするんですか?
正規表現とか使うんですか?
204デフォルトの名無しさん:2014/12/31(水) 13:02:27.73 ID:nSh+alF0
ちょとルールが違うけどC/C++で小町算ならこのコードが速そう
https://gist.github.com/qnighy/276122
205デフォルトの名無しさん:2014/12/31(水) 13:07:09.23 ID:nSh+alF0
>>194
ほんとだ
129で移動候補が少ないほうから列挙されてたから考えずにそう作ったっぽい
ありがとう
直した
http://ideone.com/pP7FSv

馬鹿には無理とか他力本願野郎とか模範解答出せとか言ってた方々は
コードも書けない非効率なとこも指摘できない口だけ野郎なんですかね
206デフォルトの名無しさん:2014/12/31(水) 13:39:59.69 ID:ieO8Y+yE
>>205
激問の攻略は余所でやってください
207 ◆QZaw55cn4c :2014/12/31(水) 13:46:02.42 ID:vgeDgSob
>>205
>コードも書けない非効率なとこも指摘できない
気持ちはわからないわけでもないが、それは「QZ化」と呼ばれる変態変化(へんげ)の兆候だ
自重したまえ
208デフォルトの名無しさん:2014/12/31(水) 13:56:53.35 ID:nSh+alF0
>>206
>>207
ご指摘ありがとう
すまんかった
209 ◆QZaw55cn4c :2014/12/31(水) 14:24:32.75 ID:vgeDgSob
>>208
気にするな貴様はまだ軽症だ重症例はこちら
http://peace.2ch.net/test/read.cgi/tech/1313183984/
方々から「つける薬もない」とあきれられて早5年
おっと馬鹿が感染るかもしれないから閲覧には注意し給へ
210デフォルトの名無しさん:2014/12/31(水) 16:06:29.17 ID:797dGgIL
>>203
括弧付きの式から何とかするのではなく、合成時の場合分けで何とかした。
211160:2015/01/01(木) 01:45:24.44 ID:bYpQjJS4
>>160の回答ですが、答えは22です
探索して解くことを想定していましたが、
別の方法で簡単に求められてしまいました
愚直に探索すると5秒くらいかかります
212デフォルトの名無しさん:2015/01/01(木) 03:07:10.69 ID:0wlrkYtM
宋って人、わりとまともなこと言うことが多いけど、
こういう話になるとなぜか共産主義みたいなこと言うよな。
213デフォルトの名無しさん:2015/01/01(木) 09:36:02.24 ID:Z/g5TCdZ
共産主義はあなたの嫌いな思想の総称ではないぞい
214デフォルトの名無しさん:2015/01/01(木) 17:10:30.59 ID:0VU7bj33
215デフォルトの名無しさん:2015/01/01(木) 17:46:38.65 ID:elhRbHDr
まだこういう一つのメソッドに全部突っ込むスタイルの人っているんだなw
216デフォルトの名無しさん:2015/01/01(木) 20:29:58.01 ID:sa8NdrXP
これを分けて、分かりやすくなるのかな……
217デフォルトの名無しさん:2015/01/02(金) 19:36:46.74 ID:C0yW4Jjr
このスレのみんなは↓こういうプログラミングコンテストのサイトに登録してたりするん?

http://atcoder.jp
218デフォルトの名無しさん:2015/01/03(土) 00:57:40.58 ID:mNe+vS5s
ジャップによるtopcoderのパクリサイト?
219デフォルトの名無しさん:2015/01/03(土) 05:42:39.20 ID:EJRvAfwK
>>141 Io
f : =method(n,
s := "F" asMutable
n repeat(s = s replaceSeq("G", "GG")replaceSeq("F", "F-F-F-GG"))
)
220デフォルトの名無しさん:2015/01/03(土) 17:34:04.83 ID:EJRvAfwK
お題:「2以上の自然数nについて 2^n-2 がnで割り切れるときnは素数である」の反例を探す。
221デフォルトの名無しさん:2015/01/03(土) 19:12:05.10 ID:wE6j5dI1
>>220
(define (reigai limit)
(let loop ((n 2) (result '()))
(if (> n limit)
result
(loop (inc n) (if (and (zero? (modulo (- (expt 2 n) 2) n)) (not (prime? n)))
(cons n result)
result)))))
222デフォルトの名無しさん:2015/01/03(土) 20:02:10.33 ID:XLRg19ve
>>220
c
途中で桁あふれしてしまうので 52 個まで
http://ideone.com/HWRQfM
223デフォルトの名無しさん:2015/01/03(土) 22:47:02.75 ID:Hmq4CGG3
224デフォルトの名無しさん:2015/01/03(土) 23:14:23.07 ID:Hmq4CGG3
225デフォルトの名無しさん:2015/01/04(日) 01:25:18.81 ID:ulO+nk3L
>>141 J
f =: 4 : 0
;@(('F-F-F-GG';'GG';'-') {~ 'FG-'&i.)^:(x) y
)

2 f 'F'
F-F-F-GG-F-F-F-GG-F-F-F-GG-GGGG

# 8 f 'F'
29011
226デフォルトの名無しさん:2015/01/04(日) 03:46:42.12 ID:kw9bqH4f
>>220 Emacs Lisp
(defun hanrei (upto)
(let ((n 3) l)
(while (<= n upto)
(when (and (= (let ((i n)
(r 1))
(while (> i 0)
(setq r (% (* r 2) n))
(setq i (1- i)))
r) 2)
(eq (let ((n n))
(when (= (% n 2) 1)
(let ((i 3)
(r t))
(while (> n (* i i))
(when (= (% n i) 0)
(setq r nil n 0))
(setq i (+ i 2)))
r))) nil))
(push n l))
(setq n (1+ n)))
(reverse l)))

(progn (setq result (hanrei 100000)) nil)
nil

(length result)
78

(nthcdr 51 result)
(42799 46657 49141 49981 52633 55245 57421 60701 60787 62745 63973 65077 65281 68101 72885 74665 75361 80581 83333 83665 85489 87249 88357 88561 90751 91001 93961)
227デフォルトの名無しさん:2015/01/04(日) 08:31:10.80 ID:eBd7g4M7
>>226
再帰で書き直してほしい
228デフォルトの名無しさん:2015/01/04(日) 08:59:51.43 ID:Xl8XYZDS
再帰が苦手なLisp環境もあるんですよぉ
229デフォルトの名無しさん:2015/01/04(日) 12:53:40.21 ID:eBd7g4M7
へ?Emacs Lispだろ?
勉強すれば?
230デフォルトの名無しさん:2015/01/04(日) 15:42:07.21 ID:ulO+nk3L
>>220 Io
powerMod := method(a, b, m,
r := 1
for(i, 0, b log2 floor, if(b at(i) == 1, r = r * a % m); a = a * a % m)
r
)
isPrime := method(n,
if(n isEven or n < 2, return(n == 2))
for(i, 3, n sqrt floor, 2, if(n % i == 0, return(false)))
true
)
isPrime2 := method(n,
if(n == 2, (2 ** n - 2) % n == 0, powerMod(2, n, n) == 2)
)
f := method(z,
for(i, 2, z, if(isPrime(i) != isPrime2(i), i println))
)

Io> f(1000)
341
561
645
231デフォルトの名無しさん:2015/01/04(日) 17:13:50.17 ID:kw9bqH4f
>>226は素数の二乗を誤って素数と判定していました。
誤 (> n (* i i))
正 (>= n (* i i))

>>227
繰り返しを使わないように書き直してみました。
私の環境だと10585と11305の間でSEGVが発生してしまいました。

(require 'cl-lib)

(defun hanrei (upto)
(let (l)
(cl-labels ((f (n)
(when (<= n upto)
(when (and (= (cl-labels ((f (i r)
(if (<= i 0) r (f (1- i) (% (* r 2) n)))))
(f n 1)) 2)
(eq (when (= (% n 2) 1)
(cl-labels ((f (i)
(if (< n (* i i)) t (when (/= (% n i) 0) (f (+ i 2))))))
(f 3))) nil))
(push n l))
(f (1+ n)))))
(f 3))
(reverse l)))

(let ((max-lisp-eval-depth most-positive-fixnum) (max-specpdl-size most-positive-fixnum)) (hanrei 10703))
(341 561 645 1105 1387 1729 1905 2047 2465 2701 2821 3277 4033 4369 4371 4681 5461 6601 7957 8321 8481 8911 10261 10585)

(let ((max-lisp-eval-depth most-positive-fixnum) (max-specpdl-size most-positive-fixnum)) (hanrei 11054))
Exception Type: EXC_BAD_ACCESS (SIGSEGV)
232 ◆QZaw55cn4c :2015/01/04(日) 20:27:19.10 ID:kU4tFNpU
>>211
ああん!はまったよぅ‥
std::set に与える比較関数 operator<() を間違えていた‥これで6時間無駄にしたか‥
ふと画面をみると
煩悩煩悩煩煩悩煩煩煩悩‥うるさいわい!
当分年は越せないようだ‥
233デフォルトの名無しさん:2015/01/05(月) 10:28:48.78 ID:yGPXja5b
>>220 Squeak Smalltalk
| ans |
ans := OrderedCollection new.
2 to: Float infinity do: [:n |
 | m |
 m := (2 raisedTo: n) - 2.
 (m isDivisibleBy: n) ifTrue: [n isPrime
  ifFalse: [(ans add: n; size) = 24 ifTrue: [^ans asArray]]]
]

=> #(341 561 645 1105 1387 1729 1905 2047 2465 2701 2821
 3277 4033 4369 4371 4681 5461 6601 7957 8321 8481 8911
 10261 10585)
234デフォルトの名無しさん:2015/01/05(月) 13:30:10.97 ID:fxjHSPae
>>220
Scheme 末尾再帰版
http://codepad.org/Q7cX9QYx
235デフォルトの名無しさん:2015/01/06(火) 01:33:58.92 ID:pRP3QEbe
>>220
pow(2, n-2)は奇数で割り切れるわけないじゃんね。
どういう意味ですか?
236デフォルトの名無しさん:2015/01/06(火) 01:41:24.82 ID:pRP3QEbe
もしかして−1なんですね
237デフォルトの名無しさん:2015/01/06(火) 01:48:57.28 ID:Sc9hEA6r
>>235
演算子の優先順位
238デフォルトの名無しさん:2015/01/06(火) 02:03:17.19 ID:pRP3QEbe
偶数は素数じゃないじゃん(2以外)
239デフォルトの名無しさん:2015/01/06(火) 02:06:24.76 ID:Sc9hEA6r
n=3の場合
2^n-2 = 6
6 % 3 = 0
240デフォルトの名無しさん:2015/01/06(火) 06:17:42.32 ID:pRP3QEbe
なるほど。ありがとうございます
241デフォルトの名無しさん:2015/01/06(火) 07:37:46.57 ID:pRP3QEbe
>>220
http://codepad.org/afrvIcjs
153 341 1305 1729 1803 3825 4033 4369 8321 10825 12801 16705 33153 34945 46657 49981 63973 65281
なんか違う
242デフォルトの名無しさん:2015/01/06(火) 08:45:33.28 ID:8Sq14aUr
すまんな
爆笑!!
243デフォルトの名無しさん:2015/01/06(火) 17:20:48.91 ID:pRP3QEbe
341 561 645 1105 1387 1729 1905 2047 2465 2701 2821
3277 4033 4369 4371 4681 5461 6601 7957 8321 8481 8911
10261 10585 11305 12801 13741 13747 13981 14491 15709
15841 16705 18705 18721 19951 23001 23377 25761 29341
30121 30889 31417 31609 31621 33153 34945 35333 39865
41041 41665 42799 46657 49141 49981 52633 55245 57421
60701 60787 62745 63973 65077 65281
これで良さそう
244デフォルトの名無しさん:2015/01/06(火) 20:13:33.14 ID:8Sq14aUr
おまえ、きえろ
荒らしに等しい
245デフォルトの名無しさん:2015/01/06(火) 22:56:32.47 ID:7yBhbcNM
誰にもかまってもらえないの。
かまってかまって。
246デフォルトの名無しさん:2015/01/09(金) 02:03:51.89 ID:TIj1I4KF
お題。「ビルゲイツの面接試験」2003を変形。
入社目安、5分??

今、ABCDの4人はStart地点におり、
そこから全員がEnd地点へ、最短時間の17分で行く方法は?

条件
1.S,E間には、橋が架かっており、
同時に橋を渡れるのは2人まで

2.橋を渡る際には必ず、1つしかない懐中電灯を持って、
照らしながら渡る
(最後以外は、誰かがEに行っても、Eにいる誰かが、
懐中電灯を持って、Sに戻るという意味)

3.2人で橋を渡る際には、時間が掛かる方へ合わせる
橋を渡るのに、各人が掛かる時間(分)は、
A:1,B:2,C:5,D:10
247デフォルトの名無しさん:2015/01/09(金) 03:55:39.96 ID:KV5nGDYE
AB渡るA戻るCD渡るB戻るAB渡る
248デフォルトの名無しさん:2015/01/09(金) 17:32:10.96 ID:zPwjNQ6g
>>246 Squeak Smalltalk

| S E steps queue results |
S := {#A->1. #B->2. #C->5. #D->10} asOrderedCollection.
E := Set new.
steps := OrderedCollection new.
queue := OrderedCollection with: {S. E. steps}.
results := OrderedCollection new.
[queue notEmpty] whileTrue: [
 S := queue first first.
 E := queue first second.
 steps := queue removeFirst third.
 S combinations: 2 atATimeDo: [:pair |
  | currS currE step currSteps |
  currS := S copy. currE := E copy. currSteps := steps copy.
  currE addAll: (currS removeAll: pair).
  step := (pair collect: #key) -> (pair detectMax: #value) value.
  currSteps add: step.
  currS ifEmpty: [results add: currSteps asArray] ifNotEmpty: [
   currSteps add: (currS add: (currE remove: (currE detectMin: #value))).
   queue add: {currS. currE. currSteps} deepCopy
  ]
 ]
].
^results detectMin: [:each | (each collect: #value) sum]

=> {#(#A #B)->2 . #A->1 . #(#C #D)->10 . #B->2 . #(#A #B)->2}
249デフォルトの名無しさん:2015/01/11(日) 01:43:47.65 ID:jQsmpaL2
総当たりでプログラミングしたいんだが、どうすればよい?
途中の分岐も覚えておいて、総当たりしたい
BackTrack法? PathTree?

(S,E)(ABCD,nil) → SE(AB) SからEへ 6通り
(CD,AB) → ES(A) EからSへ 2通り
(ACD,B) → SE(AC) 3通り
(D,ABC) → ES(A) 3通り
(AD,BC) → SE(AD) 1通り
(nil,ABCD)
250デフォルトの名無しさん:2015/01/11(日) 01:54:50.47 ID:zjPFgjun
俺なら普通に再起処理で組むけど。
251249:2015/01/11(日) 02:23:07.83 ID:jQsmpaL2
再帰か?一本道ならわかるけど、
f(){f()}

6*2*3*3*1 通り

分岐するから、わからんw
252デフォルトの名無しさん:2015/01/11(日) 09:40:18.04 ID:qlxz8U33
>>249
記号のいみわからん
253デフォルトの名無しさん:2015/01/11(日) 13:46:55.67 ID:sVpA7dIq
254デフォルトの名無しさん:2015/01/11(日) 19:34:01.98 ID:a9Qzv2hU
255デフォルトの名無しさん:2015/01/11(日) 22:20:03.28 ID:+NAlswWM
【お題】
M円の買い物をしたときに、やりとりする通貨の枚数を最小にするには
いくら支払えばよいか?使用できる通貨の枚数に上限はないものとする

(例1) M=108 → 110円
 お釣りなく支払う場合、硬貨が5枚必要
 110円で支払うと、支払い2枚、お釣り2枚の合計4枚で済む

(例2) M=555 → 555円
 お釣りなく支払うのが最小枚数の3枚

(例3) M=9999 → 10000円
256デフォルトの名無しさん:2015/01/11(日) 23:15:07.30 ID:LMtWGwUz
また宿題?
257デフォルトの名無しさん:2015/01/12(月) 10:28:17.92 ID:hpX4ehNn
通貨(即位記念10万円コイン)
258デフォルトの名無しさん:2015/01/12(月) 17:56:26.94 ID:DhOqG7KA
259デフォルトの名無しさん:2015/01/13(火) 08:20:25.95 ID:Lq976p7E
>>258
そして忘れられる2000円札
260デフォルトの名無しさん:2015/01/13(火) 12:34:36.55 ID:Ev7UJkAF
クレカや電子マネーなら常に0枚
261デフォルトの名無しさん:2015/01/13(火) 18:52:37.80 ID:4E9tx8H3
>>255
お釣りもやろうぜ
262デフォルトの名無しさん:2015/01/13(火) 20:16:53.93 ID:5CeIWqhl
俺のチンポ使用料は一億円
263デフォルトの名無しさん:2015/01/14(水) 01:47:17.16 ID:49lpCiLZ
264デフォルトの名無しさん:2015/01/14(水) 01:50:16.33 ID:sFNbKbXu
vectorはTが同じだったらoperator=が定義されてるよ。
265デフォルトの名無しさん:2015/01/14(水) 02:09:37.72 ID:49lpCiLZ
はい、コピーメソッドは不要ですね
266デフォルトの名無しさん:2015/01/14(水) 02:11:06.60 ID:49lpCiLZ
あとjのループは初期値iでした
267デフォルトの名無しさん:2015/01/14(水) 02:51:17.19 ID:LgbjfHh9
>>263
こんなに複雑なの?
268デフォルトの名無しさん:2015/01/14(水) 14:43:35.38 ID:s6p0C0Kn
269デフォルトの名無しさん:2015/01/15(木) 12:18:00.26 ID:KHkx343q
こういう文字列が与えられるので□の中に+/*-のどれが当てはまるか出力しろ
スペース区切りで出力しろ
解が複数ある場合は、改行区切りで出力しろ

出力サンプル
Q:
8□3=24
A:
/

Q:
2□4□10=-4
+ -
270デフォルトの名無しさん:2015/01/15(木) 16:27:24.27 ID:TmXAROfd
なんかやだ
271デフォルトの名無しさん:2015/01/16(金) 01:32:36.39 ID:eHI5YRba
♪割っちゃった〜!(空耳アワー)
272デフォルトの名無しさん:2015/01/16(金) 20:26:42.96 ID:fDyrbIad
273デフォルトの名無しさん:2015/01/16(金) 21:43:43.60 ID:cRtXed+o
お題:
conwayの数列の第n項を求めるプログラムを書いてください。
3,13,1113,3113,132113,...
数列の意味は
最初は3が1個なので{1,3}です。
今度は1が1個で3が1個なので{{1,1},{1,3}}です。
次は1が連続して3個並んでいて、3は1個なので{{3,1},{1,3}}です。
以下同様の手順です。
274デフォルトの名無しさん:2015/01/16(金) 22:27:38.95 ID:E6bJ8cyd
1:1
2:2
3:4
4:4
5:6
...
50:1040344

すっごく長くなる?
275デフォルトの名無しさん:2015/01/16(金) 22:34:05.21 ID:lBWuATDI
つまんなそうだからパス
276デフォルトの名無しさん:2015/01/17(土) 00:10:13.41 ID:KOOYDoMc
>>273 C++
https://ideone.com/UW3yyO
ideoneだとn=39まで
40はRuntime Error
277デフォルトの名無しさん:2015/01/17(土) 00:20:38.84 ID:JuBSWUfO
What is the size limit for the source code, input and output?
64 kB.

これに引っかかってるんだな
278デフォルトの名無しさん:2015/01/17(土) 00:25:26.51 ID:KOOYDoMc
279デフォルトの名無しさん:2015/01/17(土) 00:28:34.22 ID:KOOYDoMc
>>277
そうなのか知らなかった
サンクス
280デフォルトの名無しさん:2015/01/17(土) 07:36:41.99 ID:mT/cBYCN
281273:2015/01/17(土) 08:33:39.09 ID:0LKV4/k2
お題:
273の追加です。第n項の数はCλ^nに近いそうです。
Cは定数で、λは
λ=1.30373208460257638390068004051191852322256526861420...
です。確かめてください。
282デフォルトの名無しさん:2015/01/17(土) 08:34:18.45 ID:AENSvI4Y
283デフォルトの名無しさん:2015/01/17(土) 08:36:14.62 ID:2qw88r7l
>>281
アホ
284デフォルトの名無しさん:2015/01/17(土) 11:01:49.92 ID:4GRteQNG
>>273 haskell, とりあえず最初20項 (thx. >>277)
https://ideone.com/whe3Ek
285デフォルトの名無しさん:2015/01/17(土) 11:11:47.52 ID:0LKV4/k2
お題:
数x,yについて、xから+−y以内の有理数のうち
もっとも簡単なものを求めるプログラムを書いてください。
簡単であるとはr1=p1/q1, r2=p2/q2(既約分数)について
|p1|<=|p2|かつ|q1|<=|q2|のとき、r1はr2より簡単とします。
2/3 は3/5より簡単です。
例えばx=0.3, y=1/10のときには答えは1/3となります。
286デフォルトの名無しさん:2015/01/17(土) 11:24:45.46 ID:4GRteQNG
>>284 間違えてた (eleven が 次で two one にならない) けど修正すぐだし許してつかあさい
287デフォルトの名無しさん:2015/01/17(土) 13:08:49.87 ID:BluM5a1X
>>285
2/3と3/2はどちらか簡単か
288デフォルトの名無しさん:2015/01/17(土) 13:21:54.86 ID:0LKV4/k2
>>287
それは比較不能。
しかし、一定の区間において必ず両端より簡単な有理数が
ひとつ存在するはず。
289デフォルトの名無しさん:2015/01/17(土) 13:27:14.97 ID:0LKV4/k2
ああ、間違えた。端っこの場合もある。
0=0/1 と考えてほしい。
290デフォルトの名無しさん:2015/01/17(土) 14:10:42.98 ID:JuBSWUfO
>>285
XとYの範囲は未規定?
291デフォルトの名無しさん:2015/01/17(土) 14:14:30.66 ID:0LKV4/k2
>>290
実数ってことにして。
複素数までいれるとそもそも大小比較できないし。
292デフォルトの名無しさん:2015/01/17(土) 14:39:23.26 ID:BluM5a1X
符号の扱いも不明瞭だよね。
293デフォルトの名無しさん:2015/01/17(土) 14:48:52.56 ID:0LKV4/k2
実数だからもちろん正負ありだよ。
294デフォルトの名無しさん:2015/01/17(土) 14:51:07.01 ID:0LKV4/k2
コンピューターが扱える範囲の実数ってことにして。
難しく考える人がいるといけないので。
295デフォルトの名無しさん:2015/01/17(土) 15:32:21.61 ID:BluM5a1X
既約分数って制約がついてるから(-1)/(-3)は不可ってのは良いとしても、
-(2/5)と-(1/5)はどちらがより簡単なんだろう。

(-2)/5と(-1)/5と考えると-(2/5)の方が簡単。
2/(-5)と1/(-5)と考えると-(1/5)の方が簡単。
296デフォルトの名無しさん:2015/01/17(土) 15:36:12.10 ID:BluM5a1X
>>285
あ、絶対値の記号が付いてるかすまんw
297デフォルトの名無しさん:2015/01/17(土) 16:34:54.36 ID:0LKV4/k2
>>273
オレ様仕様言語
https://ideone.com/W3MqDO

出題者でございます。お騒がせしております。
自前の処理系のテストにconwayの数列を使ってました。284さんと答え合わせを
させてもらいました。自由半群という数学を応用した方法があるそうです。

>>281は普通には計算困難なのですが誰かうまい方法でやりきる人がいるかも
とお尋ねしてみました。
298デフォルトの名無しさん:2015/01/17(土) 17:10:46.04 ID:KOOYDoMc
>>285 C++
https://ideone.com/0t78e6
あってるのか?
299デフォルトの名無しさん:2015/01/17(土) 17:38:37.50 ID:uQW+pF83
来年の今日の東京の天気の降水確率を予想するプログラムを書け
300デフォルトの名無しさん:2015/01/17(土) 18:52:33.35 ID:vexnPrUX
>>281
出題者です。すみません。訂正です。
どうも第n項の数字の数、つまり桁数のことを言っているようです。
そこに漸近するということは桁数が収束するのかもしれません。
301デフォルトの名無しさん:2015/01/17(土) 19:53:24.48 ID:vexnPrUX
>>298
あってます。
素晴らしい。こんな短時間で。
302デフォルトの名無しさん:2015/01/18(日) 02:48:31.09 ID:BI2B8Wlh
>>299 C++
https://ideone.com/hfHrF2

http://www.data.jma.go.jp/gmd/risk/obsdl/index.php
↑ここの1985年から2014年の日別データを元に
30年間の同日の降雨日数/30を降水確率として表示する仕様
ざっと調べたところ過去30年の同日降雨日数と
実際の降雨は正の相関だけどかなり弱かった(あたりまえ)から
この降水確率はあまり意味はないw

ちなみに雨が少ない日は 12/20 12/29 12/30 (5日/30年)
雨が多い日は 6/10 7/7 (26日/30年)
七夕……

確率そのものではなく降った降らないのビット列でデータを持ってるのは
過去の年月日を指定してそこから過去10年とかで調べてたのの名残
303デフォルトの名無しさん:2015/01/18(日) 02:55:49.49 ID:mpifYpCH
304デフォルトの名無しさん:2015/01/18(日) 03:35:19.49 ID:w9eH/tSE
305298:2015/01/18(日) 07:08:27.08 ID:LDt5umkO
>>303
撃墜されたw
テストケースが甘い俺
306デフォルトの名無しさん:2015/01/18(日) 12:23:11.11 ID:vn6LeXxT
285の出題者です。
ひょっとしてみなさん、総当りで分子分母を探索してます?
もしも、そうだったらもっと効率の良い方法を検討してみてください。
307デフォルトの名無しさん:2015/01/18(日) 12:34:00.77 ID:PizSORX+
嫌です
308デフォルトの名無しさん:2015/01/18(日) 13:09:21.47 ID:dkh0cG7M
お題:
10桁以下の10進数の自然数を対象とします。
各桁の数を上位からdnとしこれについてn番目の素数pn
とのpn^dnの積を返す関数fを考えます。
f(x)=p1^d1*p2^d2*...*p10^d10
例えばf(402) = 2^4*3^0*5^2=400 です。
f(x)=x となる数を探すプログラムを書いてください。

さらに余裕があれば11桁以上の数について調べてください。
309デフォルトの名無しさん:2015/01/18(日) 15:28:51.63 ID:hI6c62kN
嫌です
310デフォルトの名無しさん:2015/01/18(日) 20:14:50.71 ID:s9UNgaar
>>308
手元で15桁まで計算して81312000だけなんだが合ってるのかな
311デフォルトの名無しさん:2015/01/18(日) 20:16:09.94 ID:dkh0cG7M
>>310
正解
312デフォルトの名無しさん:2015/01/18(日) 21:18:19.48 ID:s9UNgaar
18桁まで計算しても81312000だけだった
後は任せた

>>308 Java
http://ideone.com/m87Se2
313デフォルトの名無しさん:2015/01/18(日) 21:46:44.31 ID:LDt5umkO
314デフォルトの名無しさん:2015/01/18(日) 21:48:10.63 ID:LDt5umkO
315デフォルトの名無しさん:2015/01/18(日) 22:08:19.82 ID:s9UNgaar
関係ないけど積を和にしたら10桁で3個 (43 97752 452965740)
これはもっと上の桁でもあるかな?

>>312の*を+にしただけじゃ遅すぎで無理だが
316デフォルトの名無しさん:2015/01/19(月) 01:02:14.11 ID:g8UxlMap
>>308
Gauche
http://ideone.com/Xs0zRe
遅い。。。orz
317デフォルトの名無しさん:2015/01/19(月) 14:08:59.81 ID:EfkrzyqH
>>273 Squeak Smalltalk
| conways |
conways := Generator on: [:g |
 | n |
 g yield: (n := 3).
 1 to: Float infinity do: [:m |
  g yield: (n := (String streamContents: [:ss |
   (n asString as: RunArray) runsAndValuesDo: [:run :val |
    ss nextPut: run asHexDigit; nextPut: val]
   ]
  ) asInteger)
 ]
].
(conways next: 10) asArray

"=> #(3 13 1113 3113 132113 1113122113 311311222113
13211321322113 1113122113121113222113 31131122211311123113322113) "
318デフォルトの名無しさん:2015/01/19(月) 23:24:26.79 ID:oesf+0Hj
お題:
アラビア数字を受け取り、漢数字を文字列として返すプログラムを書いてください。
例えば f(12345) -> "一万二千三百四十五"
319デフォルトの名無しさん:2015/01/19(月) 23:51:22.40 ID:D2xZQOIV
それ前に見た...
320デフォルトの名無しさん:2015/01/19(月) 23:58:24.74 ID:oesf+0Hj
あ、そう。じゃ、取り下げ。
321デフォルトの名無しさん:2015/01/20(火) 05:20:41.11 ID:Atw8QFop
>>320
な、何だって!
せっかく無量大数まで出すように作ったのに。
でもプログラムの出来悪いから。。。
ま、良いかw
322デフォルトの名無しさん:2015/01/20(火) 08:34:47.29 ID:GpEarXfw
>>321
いや〜、たいへん申し訳ない。
323デフォルトの名無しさん:2015/01/20(火) 09:30:02.92 ID:h5kDH6MV
まあ、俺のそそり立つチンコでも眺めて楽しんでくれ
324デフォルトの名無しさん:2015/01/20(火) 11:09:40.29 ID:/4+Xyhri
>>321
晒してもいいのよ。
325デフォルトの名無しさん:2015/01/20(火) 22:47:56.33 ID:h5kDH6MV
326デフォルトの名無しさん:2015/01/20(火) 23:24:13.52 ID:Atw8QFop
>>318
>>324
へへへ、そんなに見たいなら見せてやる
ガパッ!!!
Gauche
http://ideone.com/AyhZiU
327デフォルトの名無しさん:2015/01/20(火) 23:25:24.96 ID:XwfXlsJa
お題;
1729はラマヌジャンのタクシーナンバーとして知られています。
自然数の立方和として2通りに表される数の最小のものです。
12^3+1^3=10^3+9^3=1729

では、2番目に小さい同様の数を求めるプログラムを書いてください。
328デフォルトの名無しさん:2015/01/21(水) 00:44:44.43 ID:jU9FxBDL
適当に書いたら4104だったわ
329デフォルトの名無しさん:2015/01/21(水) 01:37:17.04 ID:jhd+CR/o
>>327
Gauche
(use util.combinations)
(use util.match)

(define (taxi)
(combinations-for-each
(cut permutations-for-each
(match-lambda ((a b c d)
(when (eq? (+ (expt a 3) (expt b 3)) (+ (expt c 3) (expt d 3)))
(format #t "~d^3 + ~d^3 = ~d^3 + ~d^3 = ~d\n" a b c d (+ (expt a 3) (expt b 3))))))
<>)
(iota 50 1) 4))

(taxi)

2^3 + 16^3 = 9^3 + 15^3 = 4104
330デフォルトの名無しさん:2015/01/21(水) 08:47:31.47 ID:7RGlVA/V
331デフォルトの名無しさん:2015/01/21(水) 12:13:47.52 ID:ij8A/lkc
>>308 Scheme
(define *pr* (primes 10))
;;;sからeまでの自然数を調べ該当する最初の数を得る
(define foo
?? (lambda (s e)
(cond
((> s e) #f)
((= s (f s)) s)
(else (foo (1+ s) e)))))

;;; f(x)=p1^d1 * p2^d2 * p3^d3 ....* pn^dn を求める
(define f
?? (lambda (n)
(f-help n (int (floor (log n 10))) 1 *pr* ??#f (lambda (x) x))))

(define f-help
?? (lambda (n e cnt pr dn col)
(cond
((< n 1) (col 1))
(else
??(set! dn (quotient n (expt 10 e)))
??(f-help
?? (- n (* dn (expt 10 e))) (1- e) (1+ cnt) (cdr pr) #f
?? (lambda (x) (col (* (expt (car pr) dn) x))))))))

;;;適用例 ;処理に時間がかかる
(foo 80000000 999999999)
81312000
332デフォルトの名無しさん:2015/01/21(水) 12:15:11.86 ID:ij8A/lkc
>>331
空白が文字化けしている
333デフォルトの名無しさん:2015/01/21(水) 17:11:44.23 ID:qdz7RRGm
334デフォルトの名無しさん:2015/01/21(水) 17:41:12.84 ID:jU9FxBDL
335デフォルトの名無しさん:2015/01/21(水) 17:45:11.62 ID:7RGlVA/V
308の出題者でございます。
Meertens数については素朴に書いたものではきついようです。
自前の処理系はダウンです。
0(ゼロ)が各桁にある場合にはゲーデル数には影響しません。
そのあたりをうまく利用して探索範囲を狭めたいと検討中です。
Haskellによる関数プログラミングの本に参考例があるようです。
336デフォルトの名無しさん:2015/01/21(水) 18:40:39.81 ID:qdz7RRGm
>>334
ムツカシイネ。
337デフォルトの名無しさん:2015/01/22(木) 00:56:58.82 ID:qDOPECs7
>>335
例えば 1020300000 見たいな数字を
10203にして計算するような単純なやり方だと
末尾のゼロを取る処理分逆に遅くなるね。
それより冪乗のメモ化で少し早くなる。
338デフォルトの名無しさん:2015/01/22(木) 06:54:59.67 ID:2kZH7b8K
339デフォルトの名無しさん:2015/01/22(木) 08:30:12.41 ID:fuAzJ/zr
>>337
Haskell本をちょろっと見たのですが、各桁の数を選択する際に
枝刈りをして無駄な探索を避けているような印象です。
それと末尾の0の数は2と5の指数の小さい方なのが使えないかなぁと。
340デフォルトの名無しさん:2015/01/22(木) 08:37:07.43 ID:fuAzJ/zr
285の出題者でございます。
間に整数や0(ゼロ)がある場合は自明解になります。
そうでない場合には連分数にして比較、効率よく見つけるという方法を
想定していました。ほかにもうまい方法があるかもしれません。
341デフォルトの名無しさん:2015/01/22(木) 08:48:48.91 ID:fuAzJ/zr
>>337
後知恵ですが81312を含む5ケタだけ調べればとりあえずは
見つかるので自前の処理系でもなんとかいけました。
一番よさそうなのは上位桁から調べつつ、調べても無駄な下位の解の
探索を回避する方法ではないかと考えています。
342デフォルトの名無しさん:2015/01/22(木) 13:45:33.41 ID:6CVWqQMK
>>340
>>337さんのアイデアでとりあえず10倍ほど早くなったのてますが、まだ、論外の遅さ
勉強中
100万個単位なら良しですが
1000万個の計算が遅すぎる段階
ご示唆を検討しつつ高速化を図ってみます
343デフォルトの名無しさん:2015/01/22(木) 13:48:14.75 ID:VatMjg6z
>>342
アンカーミス
>>308さんの問題へのレス
344デフォルトの名無しさん:2015/01/22(木) 17:21:38.47 ID:/MwO3ZN1
345デフォルトの名無しさん:2015/01/22(木) 21:48:42.60 ID:GmO7d68t
346デフォルトの名無しさん:2015/01/23(金) 04:40:58.62 ID:zM33mrEj
 
お世話になります。
私、責任者の加茂と申します。以後、宜しくお願い致します。
http://www.apamanshop.com/membersite/27009206/images/kamo.jpg
浪速建設様の見解と致しましては、メールによる対応に関しましては
受付しないということで、当初より返信を行っていないようで、今後につい
てもメールや書面での対応は致しかねるというお答えでした。
http://www.o-naniwa.com/index.html 事務員 東条 南野
http://www.o-naniwa.com/company/ 岡田常路
このように現在まで6通のメールを送られたとのことですが、結果一度も
返信がないとう状況になっています。
http://www.apamanshop-hd.co.jp/ 加茂正樹 舟橋大介
http://s-at-e.net/scurl/nibn-apaman.html 大村浩次
私どものほうでも現在までのメール履歴は随時削除を致しております
ので実際に11通のメールを頂戴しているか不明なところであります。
  
 ・ハンガー・ゲーム   http://s-at-e.net/scurl/TheHungerGames-Aircraft.html
 ・スタートレック     http://s-at-e.net/scurl/StarTrek-Aircraft.html
 ・アバター        http://s-at-e.net/scurl/Avatar-Shuttle.html
 
 ・アバター       http://s-at-e.net/scurl/Avatar-Dragon.html
 ・トランスフォーマー http://s-at-e.net/scurl/Transformers-Flyingboat.html
 ・Star Citizen     http://s-at-e.net/scurl/StarCitizen-Starfarer.html
 
 ・T   http://s-at-e.net/scurl/ia-T.html
 ・Zle  http://s-at-e.net/scurl/ia-Zle.html
 
大阪府八尾市上之島町南 4-11 クリスタル通り2番館203
に入居の引きこもりニートから長期にわたる執拗な嫌がらせを受けています。
この入居者かその家族、親類などについてご存知の方はお知らせ下さい。
[email protected]
347デフォルトの名無しさん:2015/01/23(金) 04:48:08.78 ID:F+B+etzd
>>346
しね精神病
348デフォルトの名無しさん:2015/01/23(金) 05:33:10.08 ID:RelCKqww
失敗お題
失敗の原因:問題になっていない

お題
アナログ時計において00:00:00〜11:59:59の間で長針・短針・秒針が重なる時刻を全て挙げよ
長針・短針・秒針は止まることなく常に連続して動いているものとする

答え
http://ideone.com/YmBcmi
349デフォルトの名無しさん:2015/01/23(金) 18:45:26.53 ID:emDRVGKQ
>>347
extern は要らない子っ!
350デフォルトの名無しさん:2015/01/23(金) 19:33:05.74 ID:PBlTuNvK
お題:
実行から3分経過を通知するタイマーが必要
条件は
・そのためにソフト(バイナリ)をインストールしたりしない
・アラームは音がベスト
・できれば普通のXPのパソコンで動作する
351デフォルトの名無しさん:2015/01/23(金) 19:41:55.10 ID:Ust2YlLf
お題:
自然数について各桁の数の和でその数を割り切れるならばその数はNiven数
というそうです。例えば81は各桁の数の和は8+1=9であり81=9*9ですからNiven数です。
では、可能な限り大きなNiven数を求めるプログラムを書いてください。
352デフォルトの名無しさん:2015/01/23(金) 19:43:16.50 ID:uMcR+6pK
>>350
timeout.exe
353デフォルトの名無しさん:2015/01/23(金) 19:47:48.86 ID:ETPG6twN
>>348
cos(x)=cos(12x)=cos(43200x)
を満たすxを探すんだろうけど
ちゃんと計算してないけど00:00:00以外ないよな。。。。
354デフォルトの名無しさん:2015/01/23(金) 19:50:39.39 ID:Ust2YlLf
なんか処理系のbignumの耐久テストみたいでつまんなかったかな。(反省)
355デフォルトの名無しさん:2015/01/23(金) 19:56:08.24 ID:Ust2YlLf
>>353
cos(x)=x のような不動点を求めるものでは?
でもこれは簡単でつまらないので、log(x)=xの方が面白いかも。
356デフォルトの名無しさん:2015/01/23(金) 19:58:01.99 ID:uMcR+6pK
>>351
#include <stdio.h>
#include <limits.h>
typedef unsigned long int uli;

int main(){
for (uli i = ULONG_MAX; i; --i){
uli r = 0;
uli w = i;
while (w){
r += w % 10;
w /= 10;
}
if (i % r == {
printf("%lu¥n", i);
return 0;
}
}
return 0;
}

// 実行結果
// 18446744073709551534
357デフォルトの名無しさん:2015/01/23(金) 19:59:38.68 ID:8F2iKi5Y
>>354
任意の自然数の後ろに0をたくさん並べるだけでよさそうではありませんか?
358デフォルトの名無しさん:2015/01/23(金) 20:15:23.21 ID:gEU4m23k
https://ja.wikipedia.org/wiki/%E3%83%8F%E3%83%BC%E3%82%B7%E3%83%A3%E3%83%83%E3%83%89%E6%95%B0
> 間に0が連続して続く数を使って無数にハーシャッド数を作ることができる。例えば21を使うと、21,201,2001,20001 などは全てハーシャッド数になる。

まあ100000000000000000000000000000000・・・なら任意の位置で終われて楽だろうけど
359デフォルトの名無しさん:2015/01/23(金) 20:16:38.37 ID:Ust2YlLf
>>357
1の後に0をたくさん並べたらいくらでも作れるね。これは失敗。
取り下げてください。
360デフォルトの名無しさん:2015/01/23(金) 20:36:26.78 ID:Ust2YlLf
お題:
アメリカではマックナゲットを小6個、中9個、大20個の
パックで販売されていたそうです。この注文の組み合わせで
購入できるナゲットの数をマックナゲット数ということにします。
例えば44はマックナゲット数です。なぜなら44=6+2*9+20だからです。
では、マックナゲット数ではない最大数を求めるプログラムを書いてください。
361デフォルトの名無しさん:2015/01/23(金) 20:37:14.93 ID:Ust2YlLf
こんどはだいじょうでしょう。
362デフォルトの名無しさん:2015/01/23(金) 20:50:53.53 ID:8F2iKi5Y
いや駄目でしょ
素数とかだと
363デフォルトの名無しさん:2015/01/23(金) 21:28:49.39 ID:R6X4Juva
>>360 Perl
http://ideone.com/fezfLw

こういうのでいいのかいな。
364デフォルトの名無しさん:2015/01/23(金) 21:30:09.83 ID:tSARhC69
プログラムにするまでもないという
365デフォルトの名無しさん:2015/01/23(金) 22:00:57.93 ID:v30BfBZP
出題者はここにお題を書く前に自分で解いてみたりしないのか?
366デフォルトの名無しさん:2015/01/23(金) 22:47:35.05 ID:NB6mp9Bh
いいかげんなやついるな
問題になっていない問題をただの思いつきで出している奴
しねよカス
367デフォルトの名無しさん:2015/01/24(土) 02:09:16.64 ID:7GYThAmo
>>366
一応、専門書をあたってはいるのだよ。
6,9,20の最大公約数以上では解はないという定理があることは調べた上で出題している。
Niven数はほんとはその個数のN(x)について考えると面白いことがあるのだけど
あまりにも数学的すぎて馴染まないので変えたら失敗したんだ。
368デフォルトの名無しさん:2015/01/24(土) 02:12:26.38 ID:7GYThAmo
最近の出題ネタがあまりにも低レベルだったので頭をひねってみたが、もう終わり。
後は誰かよろしく。
369デフォルトの名無しさん:2015/01/24(土) 02:38:34.42 ID:macVReAj
6,9,20の最大公約数ってーと1かな?
370デフォルトの名無しさん:2015/01/24(土) 02:39:40.96 ID:7GYThAmo
間違えたよ。最大公倍数だ。
371デフォルトの名無しさん:2015/01/24(土) 02:40:46.40 ID:7GYThAmo
さらに間違えた。最小公倍数だ。
372デフォルトの名無しさん:2015/01/24(土) 04:46:00.10 ID:4DXDFyDt
簡単なお題でも私としてはウェルカム。
そうです簡単なお題しか解けないからです。
373デフォルトの名無しさん:2015/01/24(土) 15:05:30.99 ID:QRHwUf1W
>>368
そういうの好きなら
https://projecteuler.net/
でもあさったら?
374デフォルトの名無しさん:2015/01/24(土) 15:22:59.36 ID:JqXxaDsh
っていうか、いちいち出題者を煽ってモティベーションを奪う馬鹿がいるけど
相手にしないでいいと思うよ。
375デフォルトの名無しさん:2015/01/24(土) 15:34:20.11 ID:WCZAZ8R9
質の悪い似非問題だされるよりはシーンとしている方がマシ
376デフォルトの名無しさん:2015/01/24(土) 17:00:21.19 ID:Zm1Jjf6/
>>363
その通りです。44〜49が非マックナゲット数であることがわかりば、
43より大きい数のすべてはマックナゲット数であることはコンピューターに
計算させなくてもわかります。6を足せば良いからです。
ディオファントス解析、フロベニウス数と関連するようです。
377デフォルトの名無しさん:2015/01/24(土) 17:02:40.85 ID:Zm1Jjf6/
さあ、これでおしまい。
こんどはみなさんのお題を楽しませてもらいましょう。
378デフォルトの名無しさん:2015/01/24(土) 17:05:55.36 ID:Zm1Jjf6/
おっとっと訂正、
44〜49が非マックナゲット数であることがわかりば ×
44〜49がマックナゲット数であることがわかれば ○
379デフォルトの名無しさん:2015/01/24(土) 23:21:00.73 ID:IKI29R5M
お題
ある自然数nに対して、f(n)を
正のnの倍数で、下9桁が123,456,789になるものが存在すれば、その中で最小のものを
存在しなければ0を
それぞれ返す関数とする
例えばf(123) = 84123456789, f(125) = 0
10^9未満の自然数nに対して、f(n)の最大値はいくつになるか

ちなみに答えは2^60未満です
380デフォルトの名無しさん:2015/01/24(土) 23:23:58.17 ID:bKHMmMiq
つまらん
381デフォルトの名無しさん:2015/01/24(土) 23:51:51.05 ID:F47SjnxP
面白い問題を解きたいならなんでこんなスレに居るの?
382デフォルトの名無しさん:2015/01/25(日) 05:57:41.93 ID:ITyso3aB
おもしろ問題があるかもって期待でな
383デフォルトの名無しさん:2015/01/25(日) 07:42:47.94 ID:TpaFIK4z
あのなー、東大入試の数学の問題なんか、
講師連中が1年考えて、
古代ギリシアのパズルと同じ問題を出題している

3つの交わらない円のすべてに、接する円は幾つあるか?
円周率が3.05以上であることを、図で証明せよ

問題を考えるのは、それだけ難しい。
それは数学・情報オリンピックでも同じ。
秋山、ピーター・フランクルも苦労している

作問のプロでも、作問のアイデアが欲しくて、
毎日このスレを見ているぐらいなんだぞ!

魔方陣、虫食い算などで問題を作れないか?
384デフォルトの名無しさん:2015/01/25(日) 09:18:47.80 ID:sjrxvez3
385デフォルトの名無しさん:2015/01/25(日) 09:22:43.59 ID:jonHqlx4
じゃあ、辺が4の魔法陣の任意の場所を入れ替えて3種類の魔方陣を作るとする
最小の入れ替え数はいくつか?
回転と線対称とその組み合わせは除く
斜めの線対称は考えなくて良い
386デフォルトの名無しさん:2015/01/25(日) 13:43:51.48 ID:p4bIFHjp
>>383
http://peace.2ch.net/test/read.cgi/tech/1364631733/6
だね‥ここは宿題スレからの発展場、算額や公案を考える者の集うスレ
おっとその前に年越し問題を解かなくては‥
387デフォルトの名無しさん:2015/01/25(日) 18:15:10.75 ID:8TvBNMZ1
>>383
作問オリンピックを開催すればいいんじゃね?
388デフォルトの名無しさん:2015/01/26(月) 23:04:58.26 ID:Kv2lHoc0
空マス=0,白=1,黒=2として表す8文字8行からなるオセロの盤面データが与えられる
このとき最後に置かれた可能性がある駒を色ごとにそれぞれリストアップする
例外として初期配置の場合は初期配置と表示する

例:
00000000
00000000
00020000
00022000
00111000
00000000
00000000
00000000

白:c5 黒:なし
389デフォルトの名無しさん:2015/01/27(火) 03:03:43.02 ID:4hduaAxZ
>>388
1手目からきちんとルールにのっとって進めていった局面で最後に置かれた可能性があるマス?
それとも最後の一手以外は適当に設置したとしてOK?(最初から進めた場合どうやってもその形にならない盤面とか

俺には後者ならできるかもしれんが前者は序盤以外だったら無理w
390デフォルトの名無しさん:2015/01/27(火) 03:10:39.58 ID:kuGEzfaQ
1戦の計算量が2^60くらいなので、網羅は大変。
391デフォルトの名無しさん:2015/01/27(火) 05:30:42.23 ID:SaWHtS9U
>>388
取りあえず盤面上のコマの数で最後に打ったのが黒か白か解る。
後はゲーム木たどって行くしかないかな?
392デフォルトの名無しさん:2015/01/27(火) 05:46:49.65 ID:4hduaAxZ
パスが入った場合を忘れているよ
393デフォルトの名無しさん:2015/01/27(火) 08:38:33.08 ID:SaWHtS9U
ああ、そういえばパスって有ったな。。。
394デフォルトの名無しさん:2015/01/27(火) 10:14:45.84 ID:mZ6XpjU/
出題者自ら解いてそのコードさらす準備が終わってから出題してくれ。(全列挙系は特に)
395388:2015/01/27(火) 20:14:20.28 ID:YSaUU6oA
最低限最後の1手だけチェック出来ていればOK
それを超える精度は余裕があればのつもり
396デフォルトの名無しさん:2015/01/27(火) 20:53:38.05 ID:GDvEOGFI
初期状態から到達できなくてもいいってことか?
397デフォルトの名無しさん:2015/01/27(火) 21:55:57.60 ID:/7J2D32J
>>395
>最低限最後の1手だけチェック出来ていればOK

3つ以上並んだところは殆どの気がする。
398デフォルトの名無しさん:2015/01/28(水) 00:20:29.46 ID:kJv0J0VS
市松模様の状態だとしたらどれも斜めに3つ以上並んでるけど
縦横を返さずに置く必要があるので不可能とかそれなりに絞れそう
399デフォルトの名無しさん:2015/01/28(水) 10:09:21.23 ID:psA0knd+
最後の一手だけのチェックなら>>388の例だと白にe5も入るよね?
400デフォルトの名無しさん:2015/01/28(水) 19:10:34.88 ID:/EklobZY
>>388
Scheme (線形代数拡張機能を含む)
https://ideone.com/OD13nl

処理系のデバッグのために利用させてもらいました。
時間がなくてテキトー。バグがあるかも。
401デフォルトの名無しさん:2015/01/28(水) 19:12:43.48 ID:/EklobZY
チェスボード問題なら円環上の準女王問題の方が面白いのでは?
402401:2015/01/28(水) 20:28:45.56 ID:+GNvzRaf
失礼、訂正
準女王問題の方が 誤
準女王問題の方も 正
403デフォルトの名無しさん:2015/01/28(水) 20:58:25.83 ID:kJv0J0VS
初期配置は特別扱いすることになってるんだし
その4つは常に候補から外していいんじゃね
404デフォルトの名無しさん:2015/01/28(水) 21:15:53.85 ID:UK1aUFc0
ドワンゴのコンテストだそうな
http://dwango2015-prelims.contest.atcoder.jp/
405デフォルトの名無しさん:2015/01/28(水) 21:44:22.00 ID:+GNvzRaf
4つは外しましょう。
406デフォルトの名無しさん:2015/01/30(金) 10:20:23.90 ID:4tpD3Nok
2つで十分ですよ。

分かって下さいよ。
407デフォルトの名無しさん:2015/02/01(日) 21:01:41.47 ID:7JKts4OY
100から999までの三桁の整数の範囲内

A=100の位を10の位にし、10の位を1の位にした数字
B=1の位
C=10の位
A/B=B*C=Dが成り立つ整数を全て出力せよ

(例)726
A=72
B=6
C=2
A/B=B*C=12
408デフォルトの名無しさん:2015/02/01(日) 21:25:25.45 ID:TjaWybkk
>>407 Java
http://ideone.com/ZPM6tB

Dはいずこ・・・?
409デフォルトの名無しさん:2015/02/02(月) 15:30:23.61 ID:aSIJhXZn
>>407
Sapphire
https://ideone.com/aYVv8q

処理系のテストに使わせていただきまいした。
410デフォルトの名無しさん:2015/02/02(月) 16:21:12.59 ID:aSIJhXZn
お題:
ベルヌーイ数は次の漸化式で与えられる。
b(n) = -1/(n+1)*Σ(k=0 to n-1)n+1Ck * b(k)
b(0)=1

ベルヌーイ数を計算するプログラムを書き、b(8)を求めよ。
効率は考えなくてもよい。
やりたい人は漸化式によらない方法、メモ化する方法など
効率を追求せよ。
411デフォルトの名無しさん:2015/02/02(月) 19:26:11.72 ID:CLJS9HuA
>>410 Java
http://ideone.com/DmVnxn

よくわかっていない
412デフォルトの名無しさん:2015/02/02(月) 19:27:36.06 ID:BcFq5BbU
1〜99999999999999999999999999999999999999999999999999999999999999999999999999999
までの整数が文字列で与えられる
これが素数かどうか判定しろ
413デフォルトの名無しさん:2015/02/02(月) 19:47:24.92 ID:BTw9Mjmb
>>412
リファレンスプリーズ。
414デフォルトの名無しさん:2015/02/02(月) 19:51:25.07 ID:WOqQhALa
>>412
すごくくだらなく思うのは俺がそれの難しさをしらんから?
415デフォルトの名無しさん:2015/02/02(月) 20:15:22.80 ID:14DADSH+
くだらないのは出題者が山下だからだとおもう
416デフォルトの名無しさん:2015/02/02(月) 20:26:03.56 ID:CLJS9HuA
>>412 Java
http://ideone.com/wRbfFg
手抜きwwwwwwww
417デフォルトの名無しさん:2015/02/02(月) 21:50:09.14 ID:ay8SqXsj
>>414
自己レス
俺にはとても難しいとこがわかった
atomマシンではあるけれど
50001が素数かどうかを調べるのに25秒もかかった
418デフォルトの名無しさん:2015/02/02(月) 21:54:43.23 ID:CLJS9HuA
50001を3から223まで試し割りするだけで25秒掛かるか?
419デフォルトの名無しさん:2015/02/02(月) 21:56:58.64 ID:v7wWJREm
素数判定はネットで手に入る既製ソフトウェアの速いやつを抜かせたら
専門家として通じるくらいに研究されてるだろ。
420デフォルトの名無しさん:2015/02/02(月) 22:03:06.69 ID:BTw9Mjmb
俺、C++に多倍長精度演算入ったら、素数表つくって売るんだ!(死亡フラグ)
そすうおーぐとか作ってみたいなー。
421デフォルトの名無しさん:2015/02/02(月) 22:05:46.76 ID:v7wWJREm
AKS素数判定法 - Wikipedia
与えられた自然数が素数であるかどうかを決定的多項式時間で判定できる、世界初のアルゴリズム。
AKS素数判定法は2002年8月6日に "PRIMES is in P" と題された論文で発表された。
この素数判定法が発見される以前にも、素数の判定方法は多数知られていたが、リーマン予想などの仮説を用いずに、決定的多項式時間で判定できるアルゴリズムは存在しなかった。
素数判定という重要な問題が実際にクラスPに属することを示した点で理論的には大躍進であった。



ミラー-ラビン素数判定法 - Wikipedia
与えられた数が素数かどうかを判定する素数判定アルゴリズムの一種。
フェルマーの素数判定法や Solovay-Strassen 素数判定法と同じく、乱択アルゴリズムの一種。
Gary L. Miller が最初に開発した手法は未だ証明されていない拡張リーマン予想に基づいた決定的アルゴリズムだったが、
マイケル・ラビンはこれを無条件の確率的アルゴリズムに修正した。
422デフォルトの名無しさん:2015/02/02(月) 22:07:38.81 ID:ay8SqXsj
>>418
49999までの素数リストをつくり
その要素のどれかで50001が割り切れるかどうかで判定した
423デフォルトの名無しさん:2015/02/02(月) 22:10:48.47 ID:BTw9Mjmb
最適化のヒントとして、与えられたNの√Nまでの素数で試し割りすれば必要十分。
さてそれはなんででしょう。
424デフォルトの名無しさん:2015/02/02(月) 22:14:59.60 ID:vLsFqgHc
>>412
ruby -rprime -e 'p $<.read.chop.to_i.prime?'
425デフォルトの名無しさん:2015/02/02(月) 22:15:37.88 ID:v7wWJREm
>>412は区間すべての素数でなくて、区間の一つだけで良いんだろ。
すべては確実に無理かとおもうが。
何バイト必要か計算してるか。
426デフォルトの名無しさん:2015/02/02(月) 22:20:09.01 ID:BTw9Mjmb
つまりAKSを実装しろと。
427デフォルトの名無しさん:2015/02/02(月) 22:22:39.42 ID:v7wWJREm
一つの数を1ビットで表現したとして、 10^77/(8*1024^4) = 1.164 * 10^64 テラバイト必要。
キロ < メガ < ギガ < テラ。
428デフォルトの名無しさん:2015/02/02(月) 22:26:48.22 ID:iVL53l6K
429デフォルトの名無しさん:2015/02/02(月) 22:31:02.97 ID:iVL53l6K
ラビンミラー法ならその桁数でも可能かも。SICPでやったやつ。
430デフォルトの名無しさん:2015/02/02(月) 22:33:19.38 ID:v7wWJREm
カカクコムでHDD単価が最安値のに記録すると、
カネが39737339344962200000000000000000000000000000000000000000兆円ほど掛かる計算。
日本の国家予算は100兆円程度。



SEAGATE(シーゲイト) ST3000DM001  3TB \10,486
1Tあたりの価格 \3495
http://kakaku.com/item/K0000313507/
431靖国参拝、皇族、国旗国歌、神社神道を異常に嫌うカルト:2015/02/03(火) 00:03:06.86 ID:DKP7K11t
★マインドコントロールの手法★

・沢山の人が偏った意見を一貫して支持する
 偏った意見でも、集団の中でその意見が信じられていれば、自分の考え方は間違っているのか、等と思わせる手法

・不利な質問をさせなくしたり、不利な質問には答えない、スルーする
 誰にも質問や反論をさせないことにより、誰もが皆、疑いなど無いんだと信じ込ませる手法


偏った思想や考え方に染まっていたり、常識が通じない人間は、頭が悪いフリをしているカルト工作員の可能性が高い


10人に一人はカルトか外国人

「ガスライティング」で検索を!
.....
432デフォルトの名無しさん:2015/02/03(火) 00:05:47.66 ID:e/znxUiy
コピペマン参上!まで読んだ。
433デフォルトの名無しさん:2015/02/03(火) 02:24:00.74 ID:CTwZWZQS
チンコ立たないから泣きながらコピペします!まで読んだ
434デフォルトの名無しさん:2015/02/03(火) 03:32:29.26 ID:7jR7Eeuq
435デフォルトの名無しさん:2015/02/03(火) 08:47:50.90 ID:N42LlXKz
>>412
Scheme
https://ideone.com/EECTGu

SICPを読んでいた頃に書いたもの。内容はもうよく覚えていない。
436デフォルトの名無しさん:2015/02/03(火) 09:01:53.84 ID:N42LlXKz
437デフォルトの名無しさん:2015/02/03(火) 10:35:41.42 ID:yu7MxmeT
>>410 Squeak Smalltalk

| bernoulli |
bernoulli := nil.
bernoulli := [:n |
 n = 0 ifTrue: [1] ifFalse: [
  -1/(n+1) * ((0 to: n-1)
   inject: 0
   into: [:sum :k | sum + ((n+1 take: k) * (bernoulli value: k))])
 ]
].

bernoulli value: 8 "=> (-1/30) "
438デフォルトの名無しさん:2015/02/03(火) 12:36:59.30 ID:N42LlXKz
お題:
以下の関係記述からSandyが好きな人、ものを調べるプログラムを書き、
Sandyが好きな人、ものを全部列挙せよ。

Kim likes Robin.
Sandy likes Kim.
Robin likes cats.
Sandy likes people(or animal) who likes cats.
Kim likes people who like Lee and Kim.
Sandy likes Lee.
People(or animal) like myself.
439デフォルトの名無しさん:2015/02/03(火) 13:52:37.75 ID:RogaT2hh
440デフォルトの名無しさん:2015/02/03(火) 17:07:00.28 ID:N42LlXKz
>>438
Prolog (S式タイプ)
https://ideone.com/nbiXo9
答え確認にどうぞ
441デフォルトの名無しさん:2015/02/03(火) 19:33:20.76 ID:Y3wAR2qt
>>438 GNU Smalltalk

| Kim Robin Sandy Lee cats |
Likes members: {
 Kim := People named: #Kim.
 Robin := People named: #Robin.
 Sandy := People named: #Sandy.
 Lee := People named: #Lee.
 cats := Animals named: #cats
}.

Kim likes: Robin.
Sandy likes: Kim.
Robin likes: cats.
Sandy likes: [:who |
 ((who isKindOf: People) or: [who isKindOf: Animals]) and: [who definitelyLikes: cats]].
Kim likes: [:who |
 (who isKindOf: People) and: [who definitelyLikes: {Lee. Kim}]].
Sandy likes: Lee.
Likes members do: [:who |
 ((who isKindOf: People) or: [who isKindOf: Animals]) ifTrue: [who likes: who]].

Likes members asArray collect: [:each | (each -> each allOneLikes) printNl]

"=>
 Robin->(cats Robin )
 cats->(cats )
 Kim->(Robin Sandy Kim )
 Sandy->(Kim Robin cats Lee Sandy )
 Lee->(Lee )
"
http://ideone.com/9Fxawa
442デフォルトの名無しさん:2015/02/04(水) 11:35:57.43 ID:S45dflU0
深さ優先探索を使う問題を作ってください
おねがいします
443デフォルトの名無しさん:2015/02/04(水) 11:39:31.04 ID:3h7Zr70+
>>442
激問で
444デフォルトの名無しさん:2015/02/04(水) 14:27:29.18 ID:UjEKY513
>>442
お題
壁(#)によっていくつの部屋に分断されているか求めるアルゴリズム
(斜めにすり抜けられる空間も一続きとみなす)


##..##
#.###.
###.#.
...###
3rooms
445デフォルトの名無しさん:2015/02/04(水) 18:38:35.53 ID:disGJSlY
446デフォルトの名無しさん:2015/02/04(水) 19:15:23.48 ID:8Sw6mo5N
>>444
やばいむずかしすぎ
深さ優先探索でかけと言われてもまずこういう問題はどうかんがえていいのかすらわりません
447デフォルトの名無しさん:2015/02/04(水) 19:37:27.86 ID:+U2BPPPk
>>446
集合論と人工知能を勉強しなよ
448デフォルトの名無しさん:2015/02/04(水) 23:46:42.69 ID:kCAyOTFX
ぱっと見て3部屋だから3って出力するプログラムを書けばええんやで。これでだいたいやっていける
449デフォルトの名無しさん:2015/02/05(木) 01:30:15.69 ID:FdXvVIq+
穴だらけやがな。
450デフォルトの名無しさん:2015/02/05(木) 03:09:39.94 ID:7CYOAfIQ
>>442

FutureSoftware開発日誌 Ver2.0 ≫ DevQuizのソースコード(スライドパズル編)
http://blog.futuresoftware.jp/?p=56
451デフォルトの名無しさん:2015/02/05(木) 08:47:10.33 ID:Xpo5ppTK
>>444
良問! 今、解いてる。2値画像の走査みたいなものかな。
452デフォルトの名無しさん:2015/02/05(木) 10:26:36.44 ID:FdXvVIq+
ttp://ideone.com/WGvvlW
C++。深さ優先探査じゃない方法で解けたような気がする。再起つかわなかったなぁ。
重複の検出がちょっと重い。メモリ馬鹿食い。
うーん。あんまりいい出来ではない。速度重視というわけでもないし。
453デフォルトの名無しさん:2015/02/05(木) 11:41:46.26 ID:9+9QJS59
>>444ってアルゴリズムとかいう以前のごく単純な問題のように
思っちゃったんだけど違うの?

(1) マップの左上からCRTの走査線状にマスを調べる

(2) そのマスが壁でなく、かつそのマスの左、左上、上、右上がすべて壁なら
  部屋のカウントを+1

これだけのことじゃないの?
454デフォルトの名無しさん:2015/02/05(木) 11:52:03.28 ID:6SXQZym/
>>453
#####
#.#.#
##.##
#####
それこういう形が2部屋に判定されないか?
455デフォルトの名無しさん:2015/02/05(木) 11:54:12.95 ID:9+9QJS59
>>454
なるほどw
思慮が浅かったありがとう
456デフォルトの名無しさん:2015/02/05(木) 14:32:10.72 ID:/VVSvCN5
457デフォルトの名無しさん:2015/02/05(木) 17:29:19.00 ID:/VVSvCN5
2値画像のラベリングの問題だよね。昔、Winston本で読んだことがあるよ。
458デフォルトの名無しさん:2015/02/05(木) 20:31:02.61 ID:yEh0kGG/
>>444 F#

let points (x, y) = seq { for x in [x-1; x; x+1] do for y in [y-1; y; y+1] -> x, y }
let spaces map p = points p |> Seq.filter(fun p -> Set.contains p map)
let findRoom map p = Seq.tryFind (Set.intersect (Set(spaces map p)) >> Seq.isEmpty >> not)

let lookup map rooms p =
 match findRoom map p rooms with
 | None -> Set.add (Set [p]) rooms
 | Some room -> Set.remove room rooms |> Set.add (Set.add p room)

let charsi data =
 (data+"").Split '\n'
 |> Seq.mapi(fun y -> Seq.mapi(fun x c -> (x,y),c))
 |> Seq.collect id

let makeMap = charsi >> Seq.choose(function p, '.' -> Some p | _ -> None) >> Set.ofSeq

let printCount data =
 let map = makeMap data
 Seq.fold (lookup map) Set.empty map
 |> Set.count
 |> printfn "%s\n%d rooms" data
 
printCount "#####
#.#.#
##.##
#####"
459デフォルトの名無しさん:2015/02/06(金) 03:34:26.31 ID:3SQvVc9i
460デフォルトの名無しさん:2015/02/10(火) 05:15:05.03 ID:aHCuz8yF
お題:あの悪名高いLZW実装してみましょう。

リファレンス
http://ideone.com/cF0kDA
有ってるか知らんけど下のペーじ参照して実装してみた。
独自解釈が入っているので作法は知らん。
デバッグはあんまりやってない。

参考リンク。
http://kano.arkoak.com/2014/07/lzw/

おひとついかが?
461デフォルトの名無しさん:2015/02/10(火) 05:47:47.38 ID:Ae/h3GWY
ものすごくシンプルなアルゴリズムなんだな
びっくりした
462デフォルトの名無しさん:2015/02/10(火) 06:32:51.85 ID:aHCuz8yF
シュリンクしながら書いてたから、時間は結構かかってるんだぜ。
頭のいい人の考えることは基本シンプルだけどだから難しい。
463デフォルトの名無しさん:2015/02/10(火) 16:37:06.51 ID:aHCuz8yF
反応悪いなー。おもしろくなかったかにゃ?
>>460のコードあってるかもよくわからんので盲信しないでくれ。
464デフォルトの名無しさん:2015/02/10(火) 18:33:46.62 ID:Ae/h3GWY
>>460 Common Lisp
http://ideone.com/yQhpY6
伸張アルゴリズムは自分で考えて書いてみたけど楽しかった
実用性は無視
465デフォルトの名無しさん:2015/02/10(火) 18:35:12.90 ID:vmUJGgdk
>>460
C++読めないから勘違いかもしれないが、
エンコードの結果に辞書を含めてはいけなくて、
デコードも辞書無しでやるんじゃないの
466デフォルトの名無しさん:2015/02/10(火) 18:50:36.08 ID:aHCuz8yF
>>465
え?マジで?辞書破棄するの?
えぇええええええええええ。え?
初耳ですわ。盲信して実装したんで何が何だかさっぱり。
ちょ、サンプルプリーズ。

えええええええええええーーーーーーーーーーーーーーーーーーー。
467デフォルトの名無しさん:2015/02/10(火) 19:01:34.56 ID:aHCuz8yF
げげ。間違ってたか。>>460のリファレンスは取り下げで。Orz
468デフォルトの名無しさん:2015/02/10(火) 19:20:37.04 ID:aHCuz8yF
辞書をクラウドで生成する方法がよくわからん。。。Orz=3
俺はもうだめだー!!むー。
469デフォルトの名無しさん:2015/02/10(火) 20:35:06.97 ID:2nvcEMv/
お題:
1からnまでの自然数の値を記したカードがS枚ずつある。
このs*n枚のカードを1列に並べ、各k(1<=k<=n)に対して
、値kの相隣るカードの中間に必ずk枚ずつ他のカードがある
ようにする。s,nを与えられその解を計算するプログラムを書け。
例えばs=2、n=3の解としては
2,3,1,2,1,3がある。2と2の間に2つカードがあり、3と3の間に3枚の
カードがあり、1と1の間に1枚のカードがある。
470デフォルトの名無しさん:2015/02/10(火) 21:26:15.78 ID:aHCuz8yF
数列作ってパーミテーショングルグルすればいいけど、重すぎるな。
結構大変そう。
471デフォルトの名無しさん:2015/02/10(火) 21:48:28.79 ID:n5o/EWol
>>468
decompress(chars, indexes) という関数の中で辞書は
m = sizeof(chars) とすると
dict[n]
= chars[n] // n < m の場合
= dict[indexes[n-m]] + dict[indexes[n-m+1]][0] // n >= m の場合
というような定義になる。
もちろん再帰的な定義になってるから順序を気をつけないといけない。
472デフォルトの名無しさん:2015/02/10(火) 22:17:31.91 ID:n5o/EWol
473デフォルトの名無しさん:2015/02/10(火) 22:36:00.70 ID:aHCuz8yF
>>469
ttp://ideone.com/8yRkdv
C++。サンプルが少なくてあってるかよくわからん。一回やらかしてるので注意してくだせー。
474デフォルトの名無しさん:2015/02/10(火) 22:43:22.10 ID:aHCuz8yF
>>471
解説ありがとう。
やっぱ再帰性を担保に構築しないとダメですよね。
頭が悪いとこういう時ツライ。Orz
うーん。なんかできそうなきがする。むー。
475デフォルトの名無しさん:2015/02/10(火) 22:46:47.20 ID:aHCuz8yF
速度稼ぐためにMAP使ったけどダメなのか。Vecterでやらないと。
重たいなー。ソートされてないから2分探査も使えないし。
分不相応だったか。
476デフォルトの名無しさん:2015/02/10(火) 22:49:11.15 ID:cHYpWE0N
再帰性を担保?
なにそれ?

タンポンの再使用はやめましょう
タンポポの花で耳かきするのはやめましょう
湯たんぽはタオルで包んで使いましょう
ダリホー!イスラム国の兵隊さんみっけ、撃っちゃうぞぉ
477デフォルトの名無しさん:2015/02/10(火) 23:07:40.82 ID:gtqcUBDl
>>474
再帰的って言っても単にループでいけるで
478デフォルトの名無しさん:2015/02/10(火) 23:12:18.76 ID:aHCuz8yF
頭のなか最適化しなきゃ(使命感
うーん。
479デフォルトの名無しさん:2015/02/10(火) 23:13:48.73 ID:F4EjuKl7
再帰的とは言っても再帰性とは言わないし、
再現性を担保っていう言い方があるようにも思えない。
480デフォルトの名無しさん:2015/02/10(火) 23:16:48.97 ID:aHCuz8yF
これぞ型破り。とかお茶を濁す。
481デフォルトの名無しさん:2015/02/10(火) 23:27:41.50 ID:fRDEvoke
よくわかっていないことを適当に表現してわかっているつもりになる癖がついてるかな?

イメージあれども概念なし

じゃあかんよ
482デフォルトの名無しさん:2015/02/10(火) 23:30:55.86 ID:aHCuz8yF
はい。
483デフォルトの名無しさん:2015/02/10(火) 23:31:05.76 ID:+AoXQCtw
そんな説教せんでも
484デフォルトの名無しさん:2015/02/10(火) 23:33:59.48 ID:F4EjuKl7
文系ってそういう連中の群
485デフォルトの名無しさん:2015/02/10(火) 23:35:37.68 ID:F4EjuKl7
頂点に君臨する池上さんら慶應閥
486デフォルトの名無しさん:2015/02/11(水) 08:29:05.49 ID:GrZGa77a
>>473
出題者です。
この問題はランフォードの問題というものです。1979年の数セミに紹介されました。
すべてのs,nについて解が存在するわけではなく、必要条件として
n=0,-1(mod4)があるそうです。
487デフォルトの名無しさん:2015/02/11(水) 08:35:45.12 ID:GrZGa77a
訂正
必要条件 s=2のとき、n=0,-1(mod 4)
488デフォルトの名無しさん:2015/02/11(水) 10:25:54.44 ID:x6JgCX17
Aチケットの価格1500円
Bチケットの価格700円
今日のチケットの売上は462300円
この内,Aチケットの売上は75%, Bチケットの売上は25%である。
Bチケットを購入した人数を求めなさい
489デフォルトの名無しさん:2015/02/11(水) 12:46:25.68 ID:Mm+0MgAx
解なし
490デフォルトの名無しさん:2015/02/11(水) 15:05:05.96 ID:sJPqGjE7
>>489
売り上げが枚数と金額のどちらを言ってるか、しかも一人一枚限定かどうかを言ってるか
が判然としないと言ってるのか
491デフォルトの名無しさん:2015/02/11(水) 15:50:14.36 ID:GrZGa77a
1500x+700y=462300 のディオファントス方程式だと
gcd(1500,700)=100 で 100|462300 だから解はあるはずなのだけど。
後の要件がじゃまをしているような。
492デフォルトの名無しさん:2015/02/11(水) 16:24:42.62 ID:PYSPfi0Q
SPIの問題にも出ているので解けない人はアホです
493デフォルトの名無しさん:2015/02/11(水) 16:32:13.62 ID:jFiZ2Wwb
ちょいとループさせたら、76%,24%はあった。
アホでいいや。
494デフォルトの名無しさん:2015/02/11(水) 17:03:42.79 ID:bo8wnUTr
解の有無以前に"プログラミング"のお題ではない
495デフォルトの名無しさん:2015/02/11(水) 18:00:23.09 ID:pkcVw/Y+
いやお題ではあるけど数字がおかしい
496デフォルトの名無しさん:2015/02/11(水) 18:08:57.90 ID:eG3WPcOI
出題とは置いといて、算数や数学でもプログラミングは使うのでこれがお題ではないと主張する事自体は間違っている
497デフォルトの名無しさん:2015/02/11(水) 18:26:49.60 ID:sJPqGjE7
うん、概数しか出ないね

ダメだなこりゃ
498デフォルトの名無しさん:2015/02/11(水) 18:35:18.91 ID:O46sppaP
>>491
間違えた。非負整数だから関係なかった。
でも、75%ってのはわからんなぁ。
499デフォルトの名無しさん:2015/02/11(水) 18:47:28.89 ID:FK0tEpRi
連立方程式で解けそうだけど、頭悪いからわからない。
500デフォルトの名無しさん:2015/02/11(水) 19:12:44.05 ID:jyDGL2pz
釣りだろ
501デフォルトの名無しさん:2015/02/11(水) 19:48:50.93 ID:sJPqGjE7
total = 462300
price_a = 1500
price_b = 700

for i in range(164, 168):
  print "ticket b amount %d" % i
  b_sum = i * price_b
  b_per = (float(b_sum) / total) * 100
  print "ticket b percent %3.2f%%" % b_per
  a_sum = total - b_sum
  a_amt = a_sum / price_a
  print "ticket a amount %d" % a_amt
  a_per = (float(a_sum) / total) * 100
  print "ticket a percent %3.2f%%" % a_per
  print "recalc total %d" % (a_amt * price_a + i
* price_b)
  print "-" * 30

合計を再計算しても元に戻らない
ダメだね
502デフォルトの名無しさん:2015/02/11(水) 21:00:27.43 ID:7W5HZePL
出題者さんそろそろ解答例お願いします
503デフォルトの名無しさん:2015/02/11(水) 21:21:32.40 ID:FK0tEpRi
A = 462300*0.75/1500 = 231.15
B = 462300*0.25/700 = 165.10714285714285714285714285714

人間を半分にはできないので165人買って0.107人分ボッタクリした。
でFA?

なんだよ。連立方程式すらいらねーじゃん。
504デフォルトの名無しさん:2015/02/11(水) 21:25:46.27 ID:FK0tEpRi
ダフ屋じゃねーか。
正確には1人分に満たないくらい過払いがある。か?
505デフォルトの名無しさん:2015/02/11(水) 23:37:21.50 ID:FK0tEpRi
>>488
ttp://ideone.com/xcF0ak
C++。これでどうよ。75%きっかりじゃねーじゃねーか。
506デフォルトの名無しさん:2015/02/12(木) 00:04:04.05 ID:Q9MlxYPD
まあ(234,159)の所が一番近そう

誤差としてはでか過ぎるけども
507デフォルトの名無しさん:2015/02/12(木) 08:46:16.19 ID:MVgfbUe4
連立方程式が不能であることを示せという問題だったのかもしれないなぁ。
508デフォルトの名無しさん:2015/02/12(木) 08:46:59.29 ID:MVgfbUe4
お題:
n*nの碁盤にn個の碁石を置く。
このときいずれの碁石2個の距離は異なっていなければならない。
距離とは直線距離である。(ピタゴラスの定理)
例3*3の場合
.___
._|_|
|_._|

5*5の碁盤に5個の碁石を配置するプログラムを書け。
8*8あるいは9*9の碁盤でも配置を見つけられるだろうか?調べよ。
509デフォルトの名無しさん:2015/02/12(木) 08:49:20.54 ID:MVgfbUe4
見づらいので直した。
例3*3の場合
._____
.__|__|
|__.__|

5*5はちゃんと答えはあります。
510デフォルトの名無しさん:2015/02/12(木) 10:23:34.70 ID:Q9MlxYPD
てすと

print"●□●□□"
print"□□□□□"
print"□□□□●"
print"□□●□□"
print"●□□□□"
511デフォルトの名無しさん:2015/02/12(木) 13:37:24.68 ID:YANs7tq6
一見簡単そうに見えて、適当に書くと処理が終わらないっていうパターンか
512デフォルトの名無しさん:2015/02/12(木) 14:27:50.67 ID:YANs7tq6
>>508 Common Lisp
http://ideone.com/hgmA7b
手元の処理系なら7*7が限界
あとは任せた
513デフォルトの名無しさん:2015/02/12(木) 14:28:27.65 ID:/TeAiWQJ
n=5で鏡像とか回転とか除外しない場合280パターンであってるかな?
514デフォルトの名無しさん:2015/02/12(木) 14:46:31.34 ID:YANs7tq6
>>513のおかげで一番大事な枝刈りするの忘れてたことに気づいた
>>512の修正 http://ideone.com/rX6mUV
俺も280パターンになった
8*8, 9*9 共にないことを確認した
515デフォルトの名無しさん:2015/02/12(木) 15:07:14.55 ID:/TeAiWQJ
>>508 Java
http://ideone.com/lnlm7p
酷いコードが出来上がった
516デフォルトの名無しさん:2015/02/12(木) 15:49:17.30 ID:ChcW/t7D
>>488は学校の課題なのですが、やはり
見られたらまずいので問題文や数値は変えておきました

>>505
サンキューガッツ
517デフォルトの名無しさん:2015/02/12(木) 17:16:56.65 ID:Q9MlxYPD
>>508 python2
http://ideone.com/inumf7
肝心の探索アルゴリズムが出来んw
518デフォルトの名無しさん:2015/02/12(木) 17:22:01.37 ID:G7IOQrQS
最大の埋め込み数の配置のほうがいいんでは。
519デフォルトの名無しさん:2015/02/12(木) 21:15:45.05 ID:MVgfbUe4
>>508 Sapphire
https://ideone.com/2ZrG1W
出題者の責任として書いたが、処理系が非力で5だとメモリ不足を起こす。
520デフォルトの名無しさん:2015/02/12(木) 21:22:19.53 ID:MVgfbUe4
元ネタは1976年に別冊数理科学パズルTという本に掲載された
「もう一つの碁石パズル」というもので著者は中村義作先生という方です。
さらにその先駆はアメリカのクラヴィッツという人の出題だそうです。
n>=16の場合に置けないことが証明されています。
まだまだパソコンが非力な時代にn=7までは見つかっていたそうです。
521デフォルトの名無しさん:2015/02/12(木) 22:12:00.68 ID:Q9MlxYPD
うーむ、オライリーの数学パズル系の本でも読み直そう・・・
522デフォルトの名無しさん:2015/02/12(木) 23:16:31.86 ID:BXnkoFsz
>>516
また一人不幸のズンドコへ落としてしまった。罪な俺。
523デフォルトの名無しさん:2015/02/12(木) 23:19:10.49 ID:gWTW3ML0
>>519
なんでメモリ不足かと思ったら継続、call/ccだった。
本腰をいれて直すか。
524デフォルトの名無しさん:2015/02/12(木) 23:21:35.14 ID:gWTW3ML0
あ、そうか。大域脱出だけだからcall/ecにすれば解決か。
さっさとSchemeの呪縛から逃れたい。
525デフォルトの名無しさん:2015/02/12(木) 23:25:35.25 ID:gWTW3ML0
>>516
プログラミングの上達は学校でやる数学や物理をちゃんと勉強するのが近道だよ。
526デフォルトの名無しさん:2015/02/14(土) 14:52:51.93 ID:BzTqHYpH
お題:ふたつの素数の和が素数になるものを好きなだけ求める。
527デフォルトの名無しさん:2015/02/14(土) 14:57:14.62 ID:xvNWKp27
解なし。必ず一桁目が偶数になるから。奇数+奇数=偶数。
528デフォルトの名無しさん:2015/02/14(土) 14:59:19.61 ID:xvNWKp27
って、唯一2が偶数か。うーん
うほ。いきなり間違えた。
素数+2が素数を考えればOKかな?
529デフォルトの名無しさん:2015/02/14(土) 15:12:02.72 ID:xKwFGR7n
5+2
530デフォルトの名無しさん:2015/02/14(土) 15:26:58.75 ID:BF7Hz1F1
双子素数
531デフォルトの名無しさん:2015/02/14(土) 15:29:01.70 ID:kPt70RJT
用途不明な整数論の問題が増え過ぎ。
532デフォルトの名無しさん:2015/02/14(土) 15:50:45.83 ID:hFs/AfD2
宿題の季節ですから。
533デフォルトの名無しさん:2015/02/14(土) 15:52:53.30 ID:L/dx5qmH
実用的である程度面白いお題ってなんだろう?
534デフォルトの名無しさん:2015/02/14(土) 16:00:11.71 ID:hFs/AfD2
っオートマトン
535デフォルトの名無しさん:2015/02/14(土) 16:00:14.98 ID:muFMlXYO
HTMLソースをできるだけ正規表現で
DOMオブジェクトに変換するとか
536デフォルトの名無しさん:2015/02/14(土) 16:03:51.43 ID:L/dx5qmH
マトン食った事ない
537デフォルトの名無しさん:2015/02/14(土) 16:16:04.87 ID:QZdIRAT/
だっちゃ
538デフォルトの名無しさん:2015/02/14(土) 23:10:51.18 ID:LPbLDSyd
有名どころだとナップサック問題だな
変数の制約によってさまざまなバージョンが存在する
下の(1)〜(3)はすべて解法が異なるので腕試しにどうぞ

お題
個数と重さと価値がそれぞれn[i] w[i], v[i], (1 <= i <= N) であるようなN種類の品物がある
重さの総和がWを超えないように選んだ時の、価値の総和の最大値を求めなさい

(1)n[i] = 1, 1 <= w[i] <= 100, 1 <= v[i] <= 100, 1 <= N <= 100, 1 <= W <= 10000

(2)n[i] = 1, 1 <= w[i] <= 10^15, 1 <= v[i] <= 10^15, 1 <= N <= 40, 1 <= W <= 10^15

(3)1 <= n[i] <= 10000, 1 <= w[i] <= 100, 1 <= v[i] <= 100, 1 <= N <= 100, 1 <= W <= 10000
539デフォルトの名無しさん:2015/02/14(土) 23:50:09.92 ID:LPbLDSyd
>>538
おっと、(1)の条件訂正

(1)n[i] = ∞, 1 <= w[i] <= 100, 1 <= v[i] <= 100, 1 <= N <= 100, 1 <= W <= 10000
540デフォルトの名無しさん:2015/02/15(日) 15:19:15.14 ID:Qwk5nQv8
3 not problem http://parametron.blogspot.jp/2008/07/3-not-problem.html

x,y,zの3入力, x',y',z'の3出力を持つブラックボックスがある. 入出力の関係は
x'=not x
y'=not y
z'=not z
である. ブラックボックスには, andとorは好きなだけ使われているが, notは2つしかないことが分かっている.

内部はどうなっているか.
541デフォルトの名無しさん:2015/02/15(日) 17:03:44.74 ID:3ebY1fvj
そんなのカルノー図書けば一発だろと思ったら違ったw
542デフォルトの名無しさん:2015/02/15(日) 18:35:21.80 ID:95bkybK9
俺の探索アルゴリズムじゃ歯が立たない
543デフォルトの名無しさん:2015/02/15(日) 18:37:12.17 ID:pLajBfKs
自力で答え考えるほうが楽だった
544デフォルトの名無しさん:2015/02/16(月) 11:49:48.81 ID:f7brl41S
not2つも使わなきゃいけないのか
545デフォルトの名無しさん:2015/02/16(月) 12:51:04.48 ID:o9E9nO+7
オライリーのアルゴリズムパズル読んでるけどチュートリアルがまだ読みおわらねw
546デフォルトの名無しさん:2015/02/16(月) 17:55:57.73 ID:1x+didfY
>>540 Java
http://ideone.com/sVPIDp
5秒じゃ収まらんかった
547デフォルトの名無しさん:2015/02/16(月) 18:07:14.50 ID:1x+didfY
>>546があってるかどうかの確認 Java
http://ideone.com/BLNvZn
548デフォルトの名無しさん:2015/02/16(月) 18:22:10.84 ID:1x+didfY
>>546の遅そうな部分を修正
http://ideone.com/l0txFu
549デフォルトの名無しさん:2015/02/17(火) 02:23:01.07 ID:ajwgnA0x
2ちゃんねる用ブラウザ「ギコナビ」 Part69 [転載禁止]&copy;2ch.net
http://anago.2ch.net/test/read.cgi/software/1424084122/l50
550デフォルトの名無しさん:2015/02/17(火) 09:01:36.80 ID:d+hn81Dl
お題としては重すぎるな
551デフォルトの名無しさん:2015/02/19(木) 14:36:02.85 ID:PbZ3mXOh
ギコナビが使えなくなるので3/31一杯で撤退します。
ギコナビそのものはSCでも読めるようなのでそっちに移住するかもしれんです。
裏の利権なんか知らんです。安住の地さえあれば・・・。
552デフォルトの名無しさん:2015/02/19(木) 14:54:07.70 ID:KcgCnV2U
思いっきりスレ違いだけれども、データ取ってきてローカルでビューを加工するって
発想が前時代的だと思う。

人も減ったことだし、サーバーで直接見やすいhtml吐くようにすりゃいいのに。
553デフォルトの名無しさん:2015/02/19(木) 14:56:57.14 ID:PbZ3mXOh
datより小さいHTML吐ければいいけどね。上位の転送料って従量制だから。
554デフォルトの名無しさん:2015/02/19(木) 15:17:41.03 ID:7oFSdK4O
>>552
今時の方法との違いってViewerがHTMLで実装されてるかネイティブで実装されてるかの違いしか無いと思うんだけど。
データを取ってきてクライアント側で表示内容を生成するのは変わらないでしょ。

今時の方法はデータのフォーマットをJSONにしたりするのかもしれないけど
555デフォルトの名無しさん:2015/02/19(木) 15:50:18.65 ID:KcgCnV2U
>>554
確かに...
556デフォルトの名無しさん:2015/02/19(木) 15:59:01.49 ID:lpMh0T0h
>>552
てか2ch.netはそうなってるんだけどさ。
昨日たまたまスマホ用の2chを、ブラウザで覗いたら、
実は専用アプリは不要だった、という事実に気づいた。
557デフォルトの名無しさん:2015/02/19(木) 16:00:45.76 ID:lpMh0T0h
ただあまりにも下品な広告の洪水に辟易したけどね。
乗っ取った側ってやっぱヤクザ的な人たちなのかねえ。
558デフォルトの名無しさん:2015/02/19(木) 16:04:33.86 ID:PbZ3mXOh
元々はヒロユキの傀儡だったがヒロユキがへまして乗っ取られた。相手は外人なのに信用しすぎた。
一応、2chは日本の英知に近い部分があるので、そういうのに興味があるやつに乗っ取られたんだと思ってるよ。
559デフォルトの名無しさん:2015/02/19(木) 17:34:36.82 ID:06K6cuzM
本家がopenやscに移行への手を貸す形になりそうw
アホやんw
560デフォルトの名無しさん:2015/02/19(木) 17:49:09.03 ID:AJBvTtK0
まつもとひろゆき
561デフォルトの名無しさん:2015/02/21(土) 14:38:24.84 ID:WPC2wl2D
【実況】向かいの部屋に住んでいる女子高生が窓を開けたままオナニーしているんだが
http://hayabusa6.2ch.net/test/read.cgi/network/1387872458/
562デフォルトの名無しさん:2015/02/21(土) 14:39:39.65 ID:lleGAg6p
コピペマン参上!まで読んだ。
563デフォルトの名無しさん:2015/02/27(金) 14:31:48.73 ID:wMAAsYaL
お題を…お題をくれっ

簡単すぎない簡単なやつを頼む
564デフォルトの名無しさん:2015/02/27(金) 14:35:00.54 ID:HpQtp076
チンコ萎えましたぁ

復活アルゴリズムきぼんぬ
565デフォルトの名無しさん:2015/02/27(金) 15:24:09.18 ID:SSnJx+o0
18禁注意
ttp://www.amazon.co.jp/gp/product/4799200550
最近買ったなかではこれが良かった。
特殊趣向なところあるけどな。
566デフォルトの名無しさん:2015/02/27(金) 16:45:28.14 ID:UWbFrZRi
>>563
ファミコン上で動くOS
エミュ可
567デフォルトの名無しさん:2015/02/27(金) 16:52:54.87 ID:vP93htBG
ファミコンより安いARMでOSが動く環境があるのにどうなんだろうな?
568デフォルトの名無しさん:2015/02/27(金) 17:25:58.98 ID:iHoQTjKY
OS作ったって誰も検証できないじゃん
569デフォルトの名無しさん:2015/02/27(金) 17:32:54.27 ID:vP93htBG
m人の女子がいてその中の人はチンコが生えていてp人は18歳未満です。

さて、どうでしょう?
570デフォルトの名無しさん:2015/02/27(金) 17:34:26.85 ID:vP93htBG
チンコが生えているのはn人でした

安全にナンパできる確率を求めよ
571デフォルトの名無しさん:2015/02/27(金) 18:48:22.81 ID:UWbFrZRi
>>568
配布してエミュで動かしてもらえばいいと思ったんだけど
572デフォルトの名無しさん:2015/02/28(土) 14:04:57.27 ID:+gtkzrQz
>>563

お題
じゃんけんの手のリストが文字列で与えられるので
その中で勝ちの手がいくつあるか答えよ
(g=グー、c=チョキ、p=パー)

gpgpgppppg -> 6
ggggggggggggggg -> 0
ccpcpppcccpppcppcpcc -> 10
ggcgcgcggggcpgcggcgcggggcgcgcc -> 0
573デフォルトの名無しさん:2015/02/28(土) 14:29:49.62 ID:XdlzGyk5
勝ちの手ってどういうことだ
574デフォルトの名無しさん:2015/02/28(土) 14:51:34.58 ID:WGZr43/X
計算問題

http://codepad.org/pCMF5uBs

計算例
1: 2.998654
2: 3.150284
3: 3.485522
4: 4.071366
5: 5.000000
以下略
575デフォルトの名無しさん:2015/02/28(土) 14:54:02.13 ID:MwE2cKVB
答えはチョキ?となると最後は0ではなく1にならなければいけないから
違うな

というかプログラムにならんしw
576デフォルトの名無しさん:2015/02/28(土) 15:06:38.91 ID:yAjdu5nl
最後はp1人いるからあいこで0
他は順にgの数、あいこ、cの数
大勢で一度にジャンケンして勝った人数じゃね
577デフォルトの名無しさん:2015/02/28(土) 18:03:13.14 ID:LQWoRAlQ
578デフォルトの名無しさん:2015/02/28(土) 19:34:39.36 ID:Mpzn4DGR
>>572
ttp://ideone.com/sp7Wdh
C++。適当に書いた。漏れがあったらごめん。
579デフォルトの名無しさん:2015/02/28(土) 21:11:55.74 ID:k8/PfXcG
580デフォルトの名無しさん:2015/02/28(土) 21:22:58.42 ID:k8/PfXcG
バグってるな…
581デフォルトの名無しさん:2015/02/28(土) 22:34:07.41 ID:pM+RKKwV
582デフォルトの名無しさん:2015/02/28(土) 22:48:27.11 ID:Mpzn4DGR
じゅんけん。じゃなくて、じゃんけんな。
583デフォルトの名無しさん:2015/03/01(日) 11:48:28.22 ID:KO4EdtEI
584デフォルトの名無しさん:2015/03/01(日) 17:15:21.26 ID:lheYQzbz
参加人数N(1から10の10乗)
「どちらにしようかな 天の神様の言う通り」
最後の「り」に当たる人は何番目の人か出力しなさい
585デフォルトの名無しさん:2015/03/01(日) 18:12:58.94 ID:5J5cY+ZW
>>584
常に22番目じゃね?詳細。
586デフォルトの名無しさん:2015/03/01(日) 18:18:59.48 ID:KO4EdtEI
>>585
そうじゃなくて
((N div 22) * 22) + (N mod 22)番目の人じゃないか?
最後の「り」に当たる人は何番目?
だと思うよ

div -> 商をもとめる演算とする
587デフォルトの名無しさん:2015/03/01(日) 18:24:15.87 ID:KO4EdtEI
>>586
補足
とぉっても大きな数の場合、具体的にどう処理するのか?が出題の眼目だと思うけどね

アアン、大きすぎてぇ入らないのぉ
グゥェヘヘ、工夫しろや!欲しいんやろ?これがほしいんやろ?
588デフォルトの名無しさん:2015/03/01(日) 18:26:40.62 ID:5J5cY+ZW
そんな何順もするもん?ローカルルールがありすぎて統一するの難しそうだな。
10の10乗って10億か?そこまで到達しないだろう。
589デフォルトの名無しさん:2015/03/01(日) 18:28:38.92 ID:5J5cY+ZW
>>587
どう頑張っても不平等だな。まいったなぁ。
590デフォルトの名無しさん:2015/03/01(日) 19:30:21.33 ID:5J5cY+ZW
>>584
ttp://ideone.com/mrCKcD
C++。一応それっぽいの書いてみた。
最初D分割されたグループを再帰的に選んで行って最後のウイナーを決める。感じ?
なんか、小さいころに習得した事ってあんまり整理されてなくてぐちゃぐちゃだな。
すげー、頭こんがらがった。
これでいいか?あっては無いと思うが。デバッグテキトー。
591デフォルトの名無しさん:2015/03/01(日) 19:51:13.89 ID:5J5cY+ZW
感想募集中。
592デフォルトの名無しさん:2015/03/01(日) 20:18:38.81 ID:StRWusym
>>572 Squeak Smalltalk

#('gpgpgppppg'
'ggggggggggggggg'
'ccpcpppcccpppcppcpcc'
'ggcgcgcggggcpgcggcgcggggcgcgcc'
) collect: [:str |
 | bag |
 bag := str asBag.
 str -> (bag occurrencesOf: (
  bag asSet caseOf: {
   ['gp' asSet] -> [$p].
   ['gc' asSet] -> [$g].
   ['cp' asSet] -> [$c]
  } otherwise: [$z]))
]

"=> {
 'gpgpgppppg'->6 .
 'ggggggggggggggg'->0 .
 'ccpcpppcccpppcppcpcc'->10 .
 'ggcgcgcggggcpgcggcgcggggcgcgcc'->0
} "
593デフォルトの名無しさん:2015/03/01(日) 20:39:15.52 ID:VH/O77/u
594デフォルトの名無しさん:2015/03/01(日) 22:00:38.25 ID:uBqQu6I9
>>572 Haskell
http://ideone.com/8tuhZi

こういう問題、他の人の実装を見るのが楽しい
595デフォルトの名無しさん:2015/03/02(月) 00:51:48.09 ID:u8KCJCBk
596デフォルトの名無しさん:2015/03/02(月) 01:51:05.10 ID:u8KCJCBk
597デフォルトの名無しさん:2015/03/02(月) 14:47:23.69 ID:qt+uKgff
>>572 Perl
http://ideone.com/TDGfOR

アレスグーテ!
598デフォルトの名無しさん:2015/03/02(月) 17:06:34.79 ID:ssnAt4RV
>>584は最後の一人になるまで “り” に当たった人を減らしていくって問題な気がする
出題者の意図を考える問題ww

Java
http://ideone.com/GQ6cIU
線形時間ではこんな感じで。
これ計算で求めるのは如何するん?
599デフォルトの名無しさん:2015/03/02(月) 18:29:26.15 ID:ssnAt4RV
>>584 Java
>>598のループ回数減らして高速化
http://ideone.com/KK41n4
600デフォルトの名無しさん:2015/03/02(月) 18:40:59.16 ID:kcGDdoVo
出題したものだけど計算で一発で求める方法があるか知りたくて問題出しただけだよ
601デフォルトの名無しさん:2015/03/02(月) 18:41:33.82 ID:kcGDdoVo
ループなら21回で済む
10^10は釣りで入れただけ
602デフォルトの名無しさん:2015/03/02(月) 18:43:52.82 ID:ssnAt4RV
>>601
りふぁれんすぷりーず
603デフォルトの名無しさん:2015/03/02(月) 18:56:13.42 ID:uwKuVIvd
>>601
リファレンスぷりーず
604デフォルトの名無しさん:2015/03/02(月) 18:58:13.75 ID:uwKuVIvd
っていうか、仕様に釣りとか入れないで。
問題変わっちゃうじゃん。
605デフォルトの名無しさん:2015/03/02(月) 19:05:45.87 ID:dDkAzPg+
さよならNG
誠意のない問題はクズ
ID:kcGDdoVo
606デフォルトの名無しさん:2015/03/02(月) 21:38:42.50 ID:pFGTGZil
>>604
問題をそのまま見ればわかる
607デフォルトの名無しさん:2015/03/02(月) 21:43:57.52 ID:kaLsZZuA
久しぶりにNG宣言してるかまってちゃん奴見たわ
608デフォルトの名無しさん:2015/03/02(月) 21:47:50.41 ID:uwKuVIvd
>>606
じゃあ、常に22番目じゃねーか。
609デフォルトの名無しさん:2015/03/02(月) 21:52:03.76 ID:9xnlax9t
1 ど
2 れ
3 に
4 し
5 よ
6 う
7 か
8 な
9 て
10 ん
11 の
12 か
13 み
14 さ
15 ま
16 の
17 い
18 う
19 と
20 お
21 り
610デフォルトの名無しさん:2015/03/02(月) 21:56:52.88 ID:uwKuVIvd
あら、でも常に定数じゃないか。
正直すまんかった。
21%min(N,22)で済む話か?
611デフォルトの名無しさん:2015/03/02(月) 22:15:18.95 ID:uwKuVIvd
なんか微妙に違う気がする。あれ?
612デフォルトの名無しさん:2015/03/02(月) 22:26:31.41 ID:uwKuVIvd
21%min(N+1,22)かな?
613デフォルトの名無しさん:2015/03/02(月) 22:33:33.86 ID:3sD289zB
普通に 21%N だろ
ただしN番目の人は0番目扱いになるから
そこだけ注意が必要だな
614デフォルトの名無しさん:2015/03/02(月) 22:39:16.37 ID:uwKuVIvd
あぁ、喉のつっかえ取れたわ。
そういえばNって別にいくつでもいいのか。
選ばれるのは1開始だけど、21%21=0なので+1しないとだめかな?
まぁ0番目はdevBYzeroでけられる可能性があるので対策しないとだけどな。
1基準だとPGの通例と変わってくる可能性がある。
615デフォルトの名無しさん:2015/03/02(月) 23:51:16.64 ID:0LD623h0
>>607
は?精神病?
どこをどうすればかまってちゃんになるんだか
精神病の発想はよくわからん
616デフォルトの名無しさん:2015/03/03(火) 14:35:00.46 ID:D8QZLzb7
>>609
>>584
どちら どれ wwww
617デフォルトの名無しさん:2015/03/04(水) 12:00:16.63 ID:siY0+JXs
お題:小文字のアルファベットからなる文字列を圧縮して。文字列は複数行あるから。

aabbcc

a2b2c2

abcde
aabbb

a1b1c1d1e1
a2b3

aaa
bbb
ccc

a3
b3
c3
618デフォルトの名無しさん:2015/03/04(水) 12:05:34.33 ID:6Z36/r8C
圧縮出来てねえ
619デフォルトの名無しさん:2015/03/04(水) 12:13:37.04 ID:siY0+JXs
aaaaaaaaaa

a10
620デフォルトの名無しさん:2015/03/04(水) 12:31:31.89 ID:aiebJTF+
3つ以上の連続性無いと意味無いな
アルファベット以外の、例えば数字自体は考えなくてもいいって事?

あと復元のことも考えないとな
621デフォルトの名無しさん:2015/03/04(水) 12:51:35.41 ID:XT2eiHg0
『一回の場合'1'は省略する』
くらいのことを思いつかない奴が
プログラムに手を出すなとか思う
622デフォルトの名無しさん:2015/03/04(水) 13:31:56.41 ID:p/ReeUop
省略するかしないかは別にいいんじゃないかな
623デフォルトの名無しさん:2015/03/04(水) 14:22:53.36 ID:E/p47b86
圧縮したらぁ
abcの三文字がぁ
a1b1c1って倍になっちゃったぁ

それを圧縮というかい!!!!
それに数字の部分はもろに数字かい!!
それに使用文字をアスキー文字に限定してるんかどうか?

仮に、話を簡単にするため
1.圧縮対象文字は英語小文字のaからzとする
2. 指定文字からなる文字列を圧縮せよ。
3. 当然復元できるものとする
さあ、効率と速度を競え

かなぁ。


とりあえず文字種を表すのに5bitでたりるな。残り3ビットで連続回数を指定す


すると(文字種 ・ 長さ)を1バイトで表現できる

もし、連続回数が8文字以上の場合は
次の1バイトを長さ情報バイトとして付加する。

最後の長さ情報バイトの値は255未満としておけば、次のバイトは(文字種 長さ)バイトだと認識できる。
圧縮文字列の最後は(0 ・0)で終端すれば良い

どうかなぁ
624デフォルトの名無しさん:2015/03/04(水) 14:26:29.89 ID:E/p47b86
上をワンパスとして
さらに同一パターンの検出をかますともっと圧縮できるなぁ
abcdeabcxy
これは
p1 cd p2 xy
となるな
真面目な圧縮プログラムはいろいろ工夫してるんだろな
625デフォルトの名無しさん:2015/03/04(水) 15:56:04.47 ID:D1jSwNUW
>>617 Squeak Smalltalk

| compress |
compress := [:str |
 String streamContents: [:ss |
  str lines do: [:line |
   self assert: [Character alphabet includesAllOf: line].
   (line as: RunArray) runsAndValuesDo: [:run :val | ss nextPutAll: '', val, run]
  ] separatedBy: [ss cr]
 ]
].

compress value: 'aabbcc'.

"=> 'a2b2c2' "

compress value: 'abcde
aabbb'.

"=> 'a1b1c1d1e1
a2b3' "

compress value: 'aaa
bbb
ccc'.

"=> 'a3
b3
c3' "
626デフォルトの名無しさん:2015/03/06(金) 11:14:35.45 ID:uBYudlMK
>>617
Sceme リスト変換版 冗長になったああ
http://codepad.org/Q3eeiyeO
627デフォルトの名無しさん:2015/03/06(金) 20:10:15.80 ID:U9T/oBTW
>>617
ruby
$ echo aabbccc | ruby -pe '$_.gsub!(/(.)(\1*)/){$1+"#{$2.size+1}"}'
a2b2c3
628デフォルトの名無しさん:2015/03/06(金) 20:16:07.00 ID:U9T/oBTW
ついで
$ echo -e "a3\nb3\nc3" | ruby -pe '$_.gsub!(/(.)(\d+)/){$1*$2.to_i}'
aaa
bbb
ccc
629デフォルトの名無しさん:2015/03/06(金) 21:07:24.47 ID:oJtnjCND
>>625
閉じ括弧の位置がきもちわるい
630デフォルトの名無しさん:2015/03/06(金) 22:35:31.63 ID:YBksKqE2
>>617
ttp://ideone.com/k9ARJx
C++。今頭腐ってるから手抜きで。
頭腐ってても暇なもんは暇だな。はぁ・・・。
あってるかなー。
631デフォルトの名無しさん:2015/03/06(金) 23:55:15.25 ID:MtMWpDAX
すごいプログラミングを考えた!どうよ?
http://fox.2ch.net/test/read.cgi/poverty/1425651890/
632デフォルトの名無しさん:2015/03/07(土) 12:41:43.68 ID:JmbQJgEM
>>631
プログラマ余らせるくらいなら別のプロジェクト当てるんじゃね?
633デフォルトの名無しさん:2015/03/07(土) 13:35:07.48 ID:/5K+qj6/
1からN未満の自然数で、3または5の倍数の合計を求めよ
ただし、9で割り切れる数は除外すること
634デフォルトの名無しさん:2015/03/07(土) 14:52:07.48 ID:hGoDGKC0
635デフォルトの名無しさん:2015/03/07(土) 14:53:25.42 ID:JmbQJgEM
なんか前にも見た覚えあるなー。
636デフォルトの名無しさん:2015/03/07(土) 15:43:28.68 ID:JmbQJgEM
>>633
ttp://ideone.com/hN1PIT
C++。一応書いたけど、遅いよ。もう滅茶苦茶遅いよ。それでも・・・いい?
637デフォルトの名無しさん:2015/03/07(土) 16:11:12.51 ID:lbaOW+/n
ダメよダメダメって言えばいいの?
638デフォルトの名無しさん:2015/03/07(土) 16:21:20.16 ID:bJg/o0s7
チンコ萎えますぅ
639デフォルトの名無しさん:2015/03/07(土) 16:38:26.96 ID:JmbQJgEM
最近テレビは見てないのでそのネタはわからんかった。Orz
640デフォルトの名無しさん:2015/03/07(土) 20:52:26.61 ID:bJg/o0s7
>>633
Scheme

http://codepad.org/q3DokK52
atomの8インチタブレットでNが百万で5秒くらいの速度
641デフォルトの名無しさん:2015/03/07(土) 20:59:14.75 ID:bJg/o0s7
>>636
あれ? 君と答えが違う

↓ Schemeで

(foo 300000 (lambda (x y) x))
17000049996
642デフォルトの名無しさん:2015/03/07(土) 21:10:39.63 ID:bJg/o0s7
>>641
>>636
問題文よみちがえていた
間違い 5の倍数と 3の倍数で9の倍数ではないもの
訂正 5の倍数または3の倍数で かつ 9の倍数ではないもの

それでも >>636 と300000の時の答え違う
http://codepad.org/gnMxD2Zf

俺がまちがってるのかなあ
643デフォルトの名無しさん:2015/03/07(土) 21:27:24.16 ID:O2EfnUy2
>>633 Squeak Smalltalk

| fn |
fn := [:N |
 ((1 to: N) select: [:x |
  ((x isDivisibleBy: 3) or: [x isDivisibleBy: 5])
   and: [(x isDivisibleBy: 9) not]]
 ) sum
].

fn value: 300000 "=> 16000100001 "
644デフォルトの名無しさん:2015/03/07(土) 21:51:42.87 ID:JmbQJgEM
あれ?間違ってるか。あれ?
すまん。>>636は取り下げ。
645デフォルトの名無しさん:2015/03/07(土) 21:52:24.16 ID:O2EfnUy2
>>643
未満か…orz

×1 to: N → ○1 to: N-1
×16000100001 → ○15999800001
646デフォルトの名無しさん:2015/03/07(土) 22:14:39.15 ID:fJ4fWqRj
>>645
(*´σー`)エヘヘ
だんな、おいらも未満にきづかなかったべ
ま、いいやないの
647デフォルトの名無しさん:2015/03/07(土) 22:15:43.38 ID:fJ4fWqRj
>>644
>>646
すまんかったね
648デフォルトの名無しさん:2015/03/07(土) 22:20:36.44 ID:8nTZ5hf2
> [*1...300000].delete_if{|x|x%9==0}.select{|x|x%3==0||x%5==0}.reduce(:+)
=> 15999800001
649デフォルトの名無しさん:2015/03/07(土) 22:32:09.50 ID:FS79VVDG
>>643
なんで閉じカッコの場所をSmalltalkらしくしないの?
650デフォルトの名無しさん:2015/03/07(土) 22:36:52.43 ID:/Hf1PLs3
つうか1からNまでループするのは賢くない気がする
651デフォルトの名無しさん:2015/03/07(土) 22:53:14.58 ID:e+qxg0mC
俺のはコレクター(継続し渡し)による末尾再帰最適化を施した再帰処理やで
よって再帰やけど単純ループに相当する速さや
速くていいのは再帰に牛丼
速すぎていけないのは車と早漏
652デフォルトの名無しさん:2015/03/07(土) 23:06:13.12 ID:hGoDGKC0
ループや再帰要らんじゃろ
>>634のf2参照

Java 多倍長整数版
http://ideone.com/n5XLyh
653デフォルトの名無しさん:2015/03/07(土) 23:21:46.56 ID:JmbQJgEM
>>645-646
なんだ、そういうミスか。びっくりした。
どこ直そうか全然わからなかった。

>>652
こういう一発技を捻れなかったからループを使いました。(偉そう)
今、滅茶苦茶調子悪いの。Orz
654デフォルトの名無しさん:2015/03/07(土) 23:40:23.36 ID:4czvFiqV
俺はScheme勉強中だから何が何でも再帰や!
あはは
655デフォルトの名無しさん:2015/03/07(土) 23:45:40.27 ID:O2EfnUy2
>>633 GNU Smalltalk

Interval extend [
 sum [^self first + self last * self size / 2]
]

fn := [:N |
 ((3 to: N-1 by: 3) sum + (5 to: N-1 by: 5) sum - (3*5 to: N-1 by: 3*5) sum - (9 to: N-1 by: 9) sum)
].

(fn value: 300000) printNl => 15999800001

http://ideone.com/F6y8M2
656デフォルトの名無しさん:2015/03/08(日) 15:14:08.68 ID:Zck1rhOd
深さ優先探索と幅優先探索ってどうやって使い分けていいのかおしえて
657デフォルトの名無しさん:2015/03/08(日) 15:32:45.50 ID:mBgBNV1f
マンコに入れる時は深さ優先
オッパイもみもみするときは幅優先かなあ
658デフォルトの名無しさん:2015/03/08(日) 15:34:44.71 ID:7Ai8lzeX
キモヲタ丸出しw
馬鹿じゃねえの
659デフォルトの名無しさん:2015/03/08(日) 15:41:41.30 ID:dM1B/3iR
俺のそそり立つチンコ見てもそう言えるか?ああん?
660デフォルトの名無しさん:2015/03/08(日) 15:46:07.95 ID:qIBf1HTy
自分は、メモリケチりたいときは深さ優先検索でメモリ有り余ってる時は幅検索かな。
問題の質にもよるけど、全幅検索して万能解出したいときは幅検索しないときついときがある。
最適解でいいなら深さ優先検索のほうが早いと思う。
661吐いた:2015/03/08(日) 17:17:12.77 ID:ZWLsQWi0
662デフォルトの名無しさん:2015/03/08(日) 18:13:53.05 ID:fVwUy8ph
>>633
Python3で。
ttps://paiza.io/projects/tCMqV9kBbJY5JgXYfF-jNw
手元PCで 0.11s user 0.02s system 93% cpu 0.139 total
663デフォルトの名無しさん:2015/03/08(日) 21:23:41.55 ID:fVwUy8ph
664デフォルトの名無しさん:2015/03/08(日) 21:41:30.34 ID:4v0KO8Ne
数学の知識が無くても解けるがあると効率良くなる問題を出題してください
665デフォルトの名無しさん:2015/03/08(日) 21:43:26.64 ID:HpC0rxgi
>>664
>>633とかいい例じゃないの
666デフォルトの名無しさん:2015/03/08(日) 22:47:49.33 ID:4v0KO8Ne
それ、おれですよ出題したのおれなんですよ
その問題しか知りません
667片山博文MZ ◆T6xkBnTXz7B0 :2015/03/08(日) 22:58:12.75 ID:mm6WxmZr
お題:Lisp風の丸かっこ( )で構造化されたデータをてきとーにXMLに変換する
668デフォルトの名無しさん:2015/03/08(日) 23:59:50.63 ID:5ixTzgyd
669デフォルトの名無しさん:2015/03/09(月) 00:30:47.73 ID:tnx2P+0y
>>664
もうやっていらっしゃる気もするけど Project Euler の最初の方とかいいんじゃなかろうか
670デフォルトの名無しさん:2015/03/09(月) 01:56:41.76 ID:qBPlQWAy
お題:ネイピア数eを十進数で表記すると0から9までのすべての数字があらわれるのは小数点以下20桁目ですが、
"000"から"999"までのすべての文字列があらわれるのは小数点以下何桁目かを求めてください。
("718"と"182"は小数点以下4桁目までにともに含まれるものとします)

(substring e 1 (+ 20 2))
".71828182845904523536"

(apply #'max (loop for i from 0 to 9 collect (search (format "%d" i) (substring e 1 (+ 20 2)))))
20

(substring e 1 (+ 4 2))
".7182"

(+ (search "718" (substring e 1 (+ 4 2))) 2)
3

(+ (search "182" (substring e 1 (+ 4 2))) 2)
4
671デフォルトの名無しさん:2015/03/09(月) 13:20:22.83 ID:EbdUqU5/
>>670 Squeak Smalltalk

| N M epsilon e x max |
N := 10000.
M := 3.
epsilon := 10 raisedTo: N negated.
e := 2 asScaledDecimal: N.
x := 1.
[ | delta | e := e + (delta := 1 / (x := x + 1) factorial). delta < epsilon] whileFalse.
e := e printString.
e := e copyFrom: 3 to: e size - 1 - N printString size.
max := 0.
($0 to: $9) asDigitsToPower: M do: [:digits |
 | loc |
 loc := e indexOfSubCollection: digits.
 loc = 0 ifTrue: [^'not found ', (digits as: String), '. try larger N'].
 loc > max ifTrue: [max := loc]
].
^max "=> 8089 "
672デフォルトの名無しさん:2015/03/09(月) 14:15:47.14 ID:/CoHYqtD
>>667 F#

open System
let rec manyAcc p xs = p xs |> function
 | None -> [], xs
 | Some(x, xs) -> let rs, xs = manyAcc p xs in x::rs, xs
let (<|>) l r xs = (l xs, r xs) |> function
 | Some x, _ | _, Some x -> Some x
 | _ -> None
let (|>>) p f = p >> Option.map (fun (x, xs) -> f x, xs)
let (.>.) l r = l >> Option.bind (fun (x1, xs) -> (r |>> fun x2 -> (x1, x2)) xs)
let wrap o c p = o .>. p .>. c |>> (fst >> snd)
let many p = manyAcc p >> Some
let many1 p = p .>. many p |>> List.Cons
let such p = function x::xs when p x -> Some(x, xs) | _ -> None
let (~%) c = such <| (=) c
let space = such Char.IsWhiteSpace
let token p = wrap (many space) (many space) p
let putChars xs _ = Seq.iter (printf "%c") xs
let putElem n xs _ = printf "<"; n(); printf ">"; xs(); printf "</"; n(); printf ">"
let string = wrap %'\'' %'\'' (many (such ((<>) '\''))) |>> (putChars >> putElem (putChars "str"))
let int = many1 (such Char.IsNumber) |>> (putChars >> putElem (putChars "int"))
let name = many1 (such Char.IsLetter) |>> putChars
let _expr = ref <| failwithf "%A"
let expr = fun xs -> !_expr xs
let list = wrap (token %'(') (token %')') (name .>. many expr) |>> fun (n, xs) -> putElem n (fun () -> for e in xs do e())
_expr := list <|> token int <|> token string
let printXml = Seq.toList >> expr >> Option.iter (fst >> (|>) ())

printXml "(data 'ten')" // <data><str>ten</str></data>
printXml "(res 774 (body 'test'))" // <res><int>774</int><body><str>test</str></body></res>
673デフォルトの名無しさん:2015/03/09(月) 15:02:44.27 ID:bBnu/gt8
>>671
あ、すみません。最後 + 2 するの忘れました。orz

× ^max → ○ ^max + M - 1
× => 8089 → ○ => 8091
674デフォルトの名無しさん:2015/03/09(月) 17:18:44.92 ID:gk6yvFxP
仕様
・a要素の中にはb要素とテキストを挿入できる
・b要素にはテキストのみ挿入できる。
・要素は閉じなければならない<要素名></要素名>

制約
・テキストは[a-zA-Z0-9]のみで最大100文字の長さである事が保証される
・要素はaとbの二つしか存在しないことが保証される。
・テストに使われる文字列は[<>/a-z-A-Z0-9]のみが保証される

以下は正しい構造である
<a>ruby<b>php</b>python</a><a><b></b></a><a></a>

お題
与えられた文字列が正しい構造であれば1、正しくなければ0を出力しなさい
<a>ruby<b>php</b>python</a><a></b></a><a></a>
<a>ruby<b>php</b>python</a><a><b></a><a></a>
<a>ruby<b>php</b>python</a><a><b></b></a><a>
vvvc<a>ruby<b>php</b>python</a><a><b></b></a><a></a>
675674:2015/03/09(月) 17:20:18.97 ID:gk6yvFxP
HTMLパーサー等のライブラリの仕様禁止
676デフォルトの名無しさん:2015/03/09(月) 17:24:21.95 ID:a4rJAsDL
テキストは要素の外にあってもいいんかね?
677デフォルトの名無しさん:2015/03/09(月) 17:58:02.83 ID:gk6yvFxP
はい、かまいません
678デフォルトの名無しさん:2015/03/09(月) 19:37:51.14 ID:a4rJAsDL
>>674 Java
http://ideone.com/5t4pMZ
酷いコードになったぜ
679デフォルトの名無しさん:2015/03/09(月) 20:51:05.51 ID:Jn+3c0fJ
680デフォルトの名無しさん:2015/03/09(月) 21:51:58.75 ID:a4rJAsDL
>>679
なるほど勉強になる
http://ideone.com/SfLTn3
681デフォルトの名無しさん:2015/03/10(火) 00:31:08.92 ID:6esjUope
682デフォルトの名無しさん:2015/03/10(火) 01:16:47.93 ID:MirLuamm
>>674 JavaScript
http://ideone.com/GeKkDG
楽をしようと思ったらイマイチだったでござる
683デフォルトの名無しさん:2015/03/10(火) 12:39:28.46 ID:WQWlRlS8
メモリ512MのPCで、改行区切りのサイズ500M程度の2つのテキストの共通部分、差分を速く計算するにはどうしたらいいですか。
684デフォルトの名無しさん:2015/03/10(火) 12:48:35.51 ID:WQWlRlS8
>>683
unix系でむかしから知られてる方法は遅いんです。


sort moto.txt del.txt | uniq -d > union.txt
sort moto.txt union.txt | uniq -u > difference.txt


uniq
-d : 元のファイルで繰り返し出現した行だけを出力
-u : 元のファイルで繰り返し出現しない行だけを出力
685デフォルトの名無しさん:2015/03/10(火) 23:52:33.87 ID:wO0+V1lV
ファイル処理の問題かあ

500Mだけど1行のファイルの場合
686681
>>681
バグってたのでsage