プログラミングのお題スレ Part9 [無断転載禁止]©2ch.net
■ このスレッドは過去ログ倉庫に格納されています
二つの2^8の形で表されている実質3^8の状態を一回の256要素の配列の参照と加算で
0から6561になるべく近いユニークな数に変換するその配列を求めるって問題
for (w = 0; w < 256; w++) {
for (b = 0; b < 256; b++) {
if ((b & w) == 0) {
if (++a[base[b | w] + b] > 1)
printf ("err\n");
}
}
}
これをエラーが出ないように通す配列 景気付けにどうぞ
お題:以下の数列を出力するプログラム
[0, 10, 1110, 110, 2110, 122110, 11222110, 2122110, 1211222110, 11122122110,...] >>9
・法則見つけた瞬間までがピーク
・実際書くと何一つスッキリ書けなくて悔しい
https://ideone.com/n0RoNr
↓
[ >>9 ruby
・法則見つけた瞬間までがピーク
・実際書くと何一つスッキリ書けなくて悔しい
https://ideone.com/n0RoNr
↓
["0", "10", "1110", "110", "2110", "122110", "11222110", "2122110", "1211222110", "11122122110", "12211222110", "11222122110"] ・前項の数字の1の位から順に見てって、数字が連続する数を数えていく。
・数字とその連続数を1の位から順に埋める
・3の数字は削除する お題: 文字列に含まれる複数のURLをHTMLのaタグで囲って出力してください。詳細な仕様はないです。
例: http://ideone.com/NY2ooA 例に出されたURLも不正だし
>詳細な仕様はないです。
となると判別不能では >>9 Nim
あまりに不細工だったので書き直し
https://ideone.com/9q80v4
正規表現使うバージョン(ただしideoneは古すぎてコンパイルできない)
https://ideone.com/01ktu2 ideone.comをフィルターしてるのかと思ったらURL全般だめっぽい >>9 Perl
use feature qw{:5.16};
sub {
$_ = join'', @_;
exit if length > 12;
say;
@_ = ();
while (/((.)\2*)$/) {
$len = length($1);
$len = '' if $len > 2;
unshift @_, $len . $2;
$_ = $`
}
goto __SUB__;
}->(0);
無名関数の末尾再帰を使って記述してみました。 お題:C言語に関する質問に答えられる人工知能を作れ。 案1 Amazon Mechanical Turk を使う。
案2 知恵袋に投げて、回答を転記する。
案3 IBM Watson 使う。 入力音声を2chのスレに書き込む
レスがあったら音声出力する
処理時間→数分〜数日 お題:ペントミノパズルの12種類のピースを表示する 瞬速年忘れ問題
2017は素数か?素数なら何番目か? ああ、2017ぐらいなら何の工夫もせず力技でごり押ししても大丈夫なのか。
そりゃそうだなw
しかし俺は大みそかに何でこんなスレ覗いてるんだw >>31 Emacs Lisp
(require 'cl-lib)
(defun a (x)
(cl-assert (and (integerp x) (> x 1)))
(let ((l (let ((max-lisp-eval-depth most-positive-fixnum)
(max-specpdl-size most-positive-fixnum))
(b (cl-loop for i from 2 to x collect i)))))
(when (= (car (last l)) x) (length l))))
(defun b (l)
(when l
(cons (car l) (b (cl-remove-if (lambda (x) (= (% x (car l)) 0)) (cdr l))))))
(mapcar (lambda (x) (cons x (a x))) '(2 3 4 5 2017))
((2 . 1) (3 . 2) (4) (5 . 3) (2017 . 306)) >>32で9999991(664579番目の素数)を計算させたら
14.708sかかった
>>34では0.391s
(Athron X2 1.8GHz) >>31 Squeak/Pharo Smalltalk
(Integer primesUpTo: 2017+1) indexOf: 2017 "=> 306 " >>31 ruby2.0.0
require 'prime'
def f9031(n)
Prime.prime?(n) && Prime.each_with_index.find {|p, _| p == n}
end
p f9031(4), f9031(2), f9031(2017)
↓
false
[2, 0]
[2017, 305] >>31
Bash
seq 2017 | factor | awk '{happy = $1;new=0}NF==2{year++;new=1} END{
print happy,new?year "th":"no","prime"}' お題:与えられたクレジットカードの番号が正しいかどうか判定するプログラム。 お題:個人情報(氏名、年齢、住所、電話番号)のダミーデータ(偽物のデータ)を大量に作成するプログラムを作れ。 >>42
wget -r -l 0 URL で適当なサイトから住所のデータを持ってきてシャッフルしダミーデータを生成 正しいかどうかはクレカ会社でないとわからない
Luhnアルゴリズムの計算だけでいいならわりと楽だけど >>45
正論だね。じゃあルーンのアルゴリズムだけにしましょう。 >>44
住所と電話番号の関係についてもっとよく考えて下さい。 ダミーだから、実在する住所、通話可能な番号は許可しないんだよな? >>48
それはちょっと難しいだろう。実在するかどうやって確認するのかい? 住所や電話番号の一部を伏せ字にすれば迷惑が掛からないとは思うが。。。
ダミーデータの用途によるんだよね。データベースのテスト用とか、●●●●用とか。 ヒント:住所テキストデータの意味の定義は郵便局が行っている。 お題:□に自然数を入れて式を成立させる。^は、べき乗。
□^□+□^□=2017 1^X+2016^1=2017
という形の解が無数に存在する。
これに対する制限がなければ面白くない。 では□に入れるのを2以上の自然数に変更させてください >>57
C++
自然数nがa^b (a>=2,b>=2)で表せるかどうか判定する関数(isFact)の
キャストが糞だから誰かいい書き方教えてください…
http://ideone.com/cB1Ncw >>57
http://ideone.com/uxu5Bl
C++。頑張って最適化。これ以上はアルゴリズム変えないと大変。 >>57 Java
http://ideone.com/hNhAMC
>>63の ArrayList<String>[] list = new ArrayList[n]; がすんげぇメモリの無駄に思えたので >>57
C++
Σ_i=1~m □^□ = nに拡張してみた
http://ideone.com/KKHS6o >>66
12^3 + 17^2 = 2017
17^2 + 12^3 = 2017
AB入れ替わりのこれはあるのに
3^4 + 44^2 = 2017
9^2 + 44^2 = 2017
がないのはなんでなんだぜ? ループ2が43で十分ってことになってるからかな?? >>57 Squeak/Pharo Smalltalk
| ans |
ans := OrderedCollection new.
(2 to: 2017 sqrt) asDigitsToPower: 4 do: [:digits |
((digits first: 2) raisedTo: (digits last: 2)) sum = 2017
ifTrue: [ans add: ('{1}^{3}+{2}^{4}' format: digits)]
].
^ans asStringWithCr >>66
コメントアウトで書いた議論をそのままコードにすればいいのに、そんなにマジックナンバー埋め込んでどうすんだ 画面に並んでいるコントロールに左上から右下にタブ順を割り振るアルゴリズムってどう書きますか?
要するに矩形のソート方法です
綺麗に並んでるとは限りませんし重なっているものもあります
目で見た感覚的に正しくなるようにできますかね? >>72
(1) 重心の座標を求めて、
(2) Yでソート後Xでソート
とか。
まあ「感覚的に正しい」なんて要件はこの手の問題じゃ曖昧以外の何でもないし
どうやっても厳密な定義は無理だから、普通に左上座標で妥協してもいいんじゃないの >>72
要件が曖昧すぎる
どこを左上として、どこを右下とするのかで結果が変わるだろうし、あなたの感覚とズレが生じることもありえる
円形や一直線に並んでいる場合どこを左上とするのか、
画面右上、左下、右下を結んだ三角形(凾フような形)に並んでいるとき、左上と呼べるようなコントロールが存在しないけど、どうするのか >>76
いや,逆にあいまいな要件のみ提示されていて,それに感覚的に適合する実装を示せ,というお題だろう
客は自分のしたいことを本当には知っていない >>77
こういう営業さんがいる会社は悲惨なことになるねw
冗談抜きで、IT業界の一部の労働環境が劣悪な理由はこういう安請け合いにある。 >>78
あいまいな要件に対して実装を提案することは問題ないだろう?
問題はその実装をちゃぶ台返しにされないようにすることだろう?
実装の提案ができないようだと仕事にならないのでは? >>79
甘いと思うよ。
それ、製品の完成後にこちらの提案が「やっぱり何か違う」ってちゃぶ台返しされるリスクを
考えてないでしょ。
まあスレ違いなんでこれ以上言わないけどさ。 これ業務じゃないんだし、自分だったらこう実装するっていうのを書いてけばええやん というかこの問題は順位付けに自明な定義がないところが肝です
AIなどでもそうですけど最近は曖昧かつ感覚に矛盾しない答えを求められる事が増えてきています 左上と右下を結ぶ線が垂直軸となる座標系に変換して
上から順に拾っていくだけじゃないの? >>84
それだと(0, 80は(100, 0)より順番が若くなる気がするんだけどw >>85
何が言いたいのか分からないのでコメントしにくいけど
何かがおかしいとしたらあなたが考えた座標の変換が間違ってるんだろう >>86
自分で自分の言ってることが分かってないのかw
A = (0, 80)、 B = (100, 0)とすると、お前さんが言ってる座標兼では
AはBの「上」になる。
このぐらいのことそれを思いついた5秒後に分かれよほんと >>88
(10,0)と(5,10000)で後者が先に選択されるのはいやだ
次のような長方形からなる集合Uを定義する:
∀a∈ U に対し,∃b∈ a.center ⊂ b or b.center ⊂ aが成立する ミスった
次のような長方形からなる集合Uを定義する:
∀a∈ U に対し,∃b∈Uが存在し a.center ⊂ b or b.center ⊂ aが成立する
要するに連結した長方形を集めるイメージですね
タグの順位付けしたい長方形の集合を連結した長方形の集合に分割してから >>90
ほんとごめんなさい
集合Uの頂点を、最も原点(0,0)と集合Uの要素の長方形との距離が最も小さくなる長方形の左上の点と定義して
集合についてソートして、集合の要素についてxでソートするのが個人的に自然な感覚かなぁ xでソートしたらこのケースでダメだ
http://i.imgur.com/wpFEt5J.png
集合の頂点を与える長方形を始点として中心点が近い要素順に並べるのが自然か >>87
> A = (0, 80)、 B = (100, 0)とすると、お前さんが言ってる座標兼では
> AはBの「上」になる。
AがBの上になるのはあなたがそう変換した(あなたが決めた)からですよ
現在の座標系と左上と右下を結ぶ線が垂直軸となる座標系との関係性には
自由度があります(1秒で気付くと思いますが)
どのような関係にするかはお題の人間の感覚的に正しく見えるような関係を
選ぶべきであって、あなたが選択した関係に従って変換された座標に対して
あなたがおかしいと思ったというだけですね >>93
何が言いたいのかさっぱりわからんな。
数学弱いなら無理しなくていいのに ああ、きっと>>93の世界では平行移動で2点間の相対的な位置関係が
変わるんだろうねw >>94
自己紹介かな
座標軸の張り方次第だっつーのw >>98
じゃあ具体的にどういう座標系ならBがAの上になるのか言ってみろ馬鹿。
重症だな >>102
誰に物をいってるんだ?
身の程をわきまえろ >>99
煽って教えてもらうメソッドか
低能って嫌だな >>86
おい!お前のせいでキチガイが増殖してるじゃねえか
責任とって全部持って帰れ >>106
いや何を書いたとかじゃなくてさ、
>>99
煽って教えてもらうメソッドか
低能って嫌だな 頭の中がQZでいっぱいな心理学おじさんはQ呼称で自分だけは特別な存在アピール 感覚に頼るような変なお題出すからキチガイが湧くんだよ IDが出るようになったのになぜQはコテを消したのか?
とんだチキンだったのではないだろうか? ×>>16
◯>>116
似ても焼いても一つも人の役に立てないQ 心理学おじさんとQZを同じ部屋にとじこめたらどうなるの? お題:平面上に四つの点を二点間の距離が二種類になるように配置する 正三角形+中心
一辺を共有する二つの正三角形
正方形
他にあるかな? 異なる辺の長さa,bに対して
1)a:5本, b:1本
正三角形(辺の長さa)×2の菱形のみ
2)a:4本, b:2本
2辺と対角線の長さがaの凧型
正方形(辺の長さa)
3)a:3本, b:3本
正三角形と重心
3)はまだまだありそう sage>>123
●
●
● ●
ーーー
●
● ●
●
ーーー
● ●
● ●
ーーー
● ●
● ●
ーーー
●
●
● ●
ーーー
● ●
● ● >>123
平面上に3点P1、P2、P3を配置して三角形を作る時、正三角形を含む二等辺三角形でなければならない
これ以外の配置のやり方をすると辺の長さが3種類となって前提に反する
上記のように配置した3点3点P1、P2、P3に4点目P4を配置するとき、
A) 二等辺三角形P1P2P3と底辺を共有し、長さが等しい辺と同じ長さの2辺をもつ2等辺三角形となるようにP4を配置する
(底辺を共有するように二等辺三角形二つを配置する)
または
B) 三角形P1P2P3が正三角形のとき、外接円の中心と一致するようにP4を配置する
の二通りの配置の仕方がある。逆に言えば、この条件に従うように座標を決定すれば無限の配置の仕方が可能 って、>>123よく読んだら>>130じゃダメだ! orz
失敬 撤回しますわ お題:ある数 n が与えられたとして、n の原始根の位数を求めよ
条件:原始根については https://ja.wikisource.org/wiki/%E5%88%9D%E7%AD%89%E6%95%B4%E6%95%B0%E8%AB%96%E8%AC%9B%E7%BE%A9/%E7%AC%AC1%E7%AB%A0/%E5%8E%9F%E5%A7%8B%E6%A0%B9%EF%BC%8C%E6%8C%87%E6%95%B0
を参照せよ、ただし、このテキストでは n が素数であることを前提にしているが、原始根は n が素数でなくても存在する。n が素数でない場合にも対応せよ。
原始根を、小さい数から順次位数を力技で求める方法は認めない。
n の原始根が存在しない場合にアルゴリズムが停止する必要は要請しない。 C言語スレよりロンダリング
x面体のサイコロy個を振って得られる出目のヒストグラムを出力するプログラムを作ろう
dice.exe 6 3 (6面体のサイコロ3個) の出力例
出目 出現回数 出現率
---- -------- ------
3 1 0.46
4 3 1.39
5 6 2.78
6 10 4.63
7 15 6.94
8 21 9.72
9 25 11.57
10 27 12.50
11 27 12.50
12 25 11.57
13 21 9.72
14 15 6.94
15 10 4.63
16 6 2.78
17 3 1.39
18 1 0.46 厳密解を出す場合なら動的計画法で素朴にやるとO(x^2y^2) この問題のポイントはサイコロを正N面体に限定してないところだな
それと3面体なんていう指定をされたらどうするとかな >>136
やるなあ
パスカルの三角形のもう一段階上みたいな感じか お題: ハート・ダイヤ・クラブ・スペードを各13枚ずつもつ52枚のカードから13枚のカードが配られます.
Q1. 配られたカードの種類がもっとも均質でない(13・0・0・0)確率P1と, もっとも均質である(4・3・3・3)確率P2を求めてください.
Q2. 確率P1よりも低い確率の組み合わせが存在する場合, その組み合わせと確率を求めてください.
Q3. 確率P2よりも高い確率の組み合わせが存在する場合, その組み合わせと確率を求めてください. >>134 Emacs Lisp
(require 'cl-lib)
(defun dice (x y)
(let ((b '(0)))
(dotimes (i y)
(setq b (reduce (lambda (a b) (append a b)) (loop for n in (loop for i from 1 to x collect i) collect (loop for m in b collect (+ n m))))))
(pp (loop for n in (remove-duplicates b) collect (list n (count n b) (/ (float (count n b)) (length b)))))))
(dice 6 3)
((3 1 0.004629629629629629)
(4 3 0.013888888888888888)
(5 6 0.027777777777777776)
(6 10 0.046296296296296294)
(7 15 0.06944444444444445)
(8 21 0.09722222222222222)
(9 25 0.11574074074074074)
(10 27 0.125)
(11 27 0.125)
(12 25 0.11574074074074074)
(13 21 0.09722222222222222)
(14 15 0.06944444444444445)
(15 10 0.046296296296296294)
(16 6 0.027777777777777776)
(17 3 0.013888888888888888)
(18 1 0.004629629629629629)) >>134 Squeak/Pharo Smalltalk
| dice |
dice := [:x :y |
| bag |
bag := Bag new.
(1 to: x) asDigitsToPower: y do: [:ary | bag add: ary sum].
bag sortedElements collect: [:kv | {kv key. kv value. kv value / bag size * 100s2}]
].
dice value: 6 value: 3
"=> {
{3 . 1 . 0.46s2}.
{4 . 3 . 1.38s2}.
{5 . 6 . 2.77s2}.
{6 . 10 . 4.62s2}.
{7 . 15 . 6.94s2}.
{8 . 21 . 9.72s2}.
{9 . 25 . 11.57s2}.
{10 27 12.50s2}.
{11 27 12.50s2}.
{12 . 25 . 11.57s2}.
{13 . 21 . 9.72s2}.
{14 . 15 . 6.94s2}.
{15 . 10 . 4.62s2}.
{16 . 6 . 2.77s2}.
{17 . 3 . 1.38s2}.
{18 . 1 . 0.46s2}
} " >>144
プログラミングする意味のあるお題作ってくれよ いや>>134は10面体10個を10秒以内で計算するとかの条件付けるとプログラミングの意味あるぞ
>>136はよく出来てるとオモタ >>144
そんなこといわずに >>132 を解いてくれよぅ
原始根の存在定理を素数以外に拡張していいのかどうか、いまいち確信がもてないんだ… 乱数を使用して10億回試行してみたところ,4・3・3・3の出現回数は105357474 (10.5%), 13・0・0・0は0(12・1・0・0は3)でした.
4・3・3・3よりも出現回数の多い組み合わせは以下の4通りでした.
4・4・3・2 215505541回 (21.6%)
5・3・3・2 155167267回 (15.5%)
5・4・3・1 129327030回 (12.9%)
5・4・2・2 105786216回 (10.6%)
このお題はHAKMEM MIT AI Memo 239 ITEM 46 (Schroeppel)を参考にしました.
http://www.inwap.com/pdp10/hbaker/hakmem/number.html#item46 A+B+C+D+E+F+G+H+I+J+K=170
A-B=−2
A>B>C>D>E>F>G>H>I>J>K
A>0のとき
この式を満たすA〜Kを全て求めよ A-B=−2
A>B
この二つを同時に満たせません 修正がA>B>C...→A<B<C...じゃなくてA-B=-2→A-B=2だと無数に求められるから全て求めるのは無理じゃないかな? 例えばこんなん
int A=68,B=66,C=8,D=7,E=6,F=5,G=4,H=3,I=2,J=1,K=0;
while(true) {
A++; B++; K-=2;
} こういうお題を書きたいのなら制約条件を良く考えないと
A+B+C+D+E+F+G+H+I+J+K=170
A>B>C>D>E>F>G>H>I>J>K
A〜Kは全て自然数とする
こういうのとかな >>150
http://ideone.com/ZXck7T
C++。ちょっと自信ないけど、一応できた。
頑張って最適化した。 https://www.hackerrank.com/sinapusu2002-1
ハッカーランクという競技プログラミングサイトで出題中の問題。
オリジナル問題6問。
ハッカーランクに登録して解いてくれ。
スレ違いだろうか?
2つの三角形の共有面積はかなりマゾいのでお勧め。
一応競技プログラミング界の重鎮で東大で数学してる人にも解いてもらったりはしたけど。
挑戦者数が増えないのが悩みの種。
ただいま次回コンテストに向けて3/6問作成済み、3問作成予定。 挑戦者数が増えないのは問題が悪いからだろ。
良問をだしてれば自然と挑戦者は増えるはず。
宣伝してズルした時点でお前の人間性の低さがわかるんだよ >>160
東大生に解いてもらっても屑な問題はクズだ。
そんなもので東大のブランド志向に思ってる奴を釣ろうとしている
お前も同じ穴の貉だよ。
俺はそいういうやつは軽蔑するな。 お題:格子点を1個だけ含む面積4の凸多角形を求める >>167
斜めってる正方形とか、無限にできるんでないの? >>167
xが0.9未満なら
(0,0)(x,0)(0.1,4/x)(0.1+x,4/x)
の平行四辺形でいいよね >>167
(0,0)-(0.8,0)-(9.8,10) [1] 授業単元:線形代数
[2] 問題文
与えられたn字正方行列の逆行列を求めよ。
求めた行列は、与えられた行列を掛けて n 次単位行列となることを確認せよ。
以下のCプログラムを元に実装されていない部分を補完せよ。C 以外の言語で記述する場合は、この C プラグラムの対応する部分も記述すること。
https://ideone.com/k996I1
逆行列が存在しない場合は適切に処理してよい。
[3] 環境
[3.1] OS: 問わない
[3.2] コンパイラ名とバージョン: 問わない
[3.3] 言語: C または任意の言語
[4] 期限: ([2017年4月15日23:59まで]
[5] その他の制限:お題です。 お題:
辺の長さが100より小さい既約のピタゴラス三角形をすべて求めう。
出力の順序は問わない。 >>171
これ、宿題の解答にならないようなプログラムにするのは結構難問かも。 >>174
Ruby
N=100
(1..N).step(2){|a|(a+2..N/a).step(2){|b|c=b*b-a*a>>1;a.gcd(b)<2&&c<N&&p([a*b,c,c+a*a])}} お題:
トランプの札のリストが文字列で与えられるので
同じマークor同じ数字のペアが最大何組できるか求めよ
D:ダイヤ、H:ハート、S:スペード、C:クラブ、
A:エース、2〜9:数字の2〜9、T:10、J:ジャック、Q:クイーン、K:キング
例:
"DAD2HAH3" -> 2
"DAD3D8D9DJH5H8HKSASKCAC5C8CK" -> 7
"SAS2S3S4S5S6S7S8S9C2C3C4C5C6C7C8C9CT" -> 9 >>180
知らんけどNP完全とかそういうやつ?
違ったらスマソ >>180
http://ideone.com/UgHgtz
C++。多分間違ってる。数字も合わないしな。
i7-6700でリリースビルドで40秒くらいかかる。
見てる感じ塩基配列だよなこれ。 >>180
c++ http://ideone.com/WK9LQi
問題文には明記なかったが、ユニークな52枚(4*13)1セットだけだとして解いた。
計算量は 1問 14^4*6 くらいになるのだろう。
(最初は14^5*6でやったが、ひとつ計算量落とした。
この数値じゃ、意味なかったけど) >>171 人気がないね…ループの知識だけあればOKでループの構成を考える腕力が多少あればそれなりに楽しめるお題と思ったんだけれども
新規性がないのが弱点なのかな?
次のお題を考えることにしようか http://ideone.com/Et54St
意味ないけど最適化したら現実的な時間で終わるようになった。
今暇なので、いい暇つぶしになったなぁ。意味ないけど。 >>186
>DAD2HAH3:4,2
>DAD3D8D9DJH5H8HKSASKCAC5C8CK:394,38
>SAS2S3S4S5S6S7S8S9C2C3C4C5C6C7C8C9CT:1972800,16
どういうこと???
組み合わせの数がカードの枚数すら超えてるの??? そいつのコード見てないから分からんが多分、最初の例なら
1)DAHA
2)DAD2
3)HAH3
4)DAD2,HAH3
みたいにカウントされちゃってるんじゃないか? >>180
最後のは9じゃなくて8組だろ
同じマーク S:4組、C:4組、合計8組
同じ数字 2,3,4,5,6,7,8,9の各ペアで合計8組
最大組数は8組 俺も間違ってたので修正した
http://ideone.com/vD1JHy
答えは2組,6組,8組じゃないの? >>189
反例
数字で(S2=C2)で1ペア、
残り8枚ずつで同スートのペアを8つくる
合計 9ペア
数字で(S2=C2, S3=C3, S4=C4) 3ペア
残りは6枚ずつになるので、6ペアできる
合計9ペア
その他 数字のペアを奇数個つくれれば、9を作れる 8bitの整数を一つ引数として与え、
上位4bitと下位4bit を符号なし整数として掛け算した結果の8bitを返す関数を
論理演算子のみで実装したもののうち、
もっとも実行時間が短いものを挙げよ。
論理演算は全て1命令1サイクルとする。 最も実行時間が短いかどうかの判定ってNP完全っぽそう http://ideone.com/QNbwWa
C++。えーん終わらないよ〜。
デバッグ覗いたら早い段階で答え出てるんだけど打ち切り方がわからない。
>>186などは題意を把握してなかった。 ふえぇーん。1時間半回してもおわらないよー。
動的計画法すごい。 お題
これ
http://www.mext.go.jp/programin/
に相当するアプリケーションを
非Web環境でも使えるような仕様で
単一の言語でコーディングしろ こういうのに瞬時に回答できるようになるまでどのくらいの時間がかかるものなの? >>212
時代は3Dか・・・。
ロートルにはできん芸当だ。GJ。 すみません。何言ってるかわからないだろうけど、
12桁の数字が並ぶ羅列は何を表しているのでしょうか???
/021/000/000/000
とか 最初の3つが市外局番 次が区番号 残りが個人識別子だよ 12桁くらいの数字を使う規格ってそれなりにありそうだけどな。 >>218
ギブアップ。うぃきぺ見ても意味わかんない。頭爆発しそう。 数字の入ったヤング盤じゃなくて、図形だけでいいの?
nのヤング図形を全部求めるってこと? >>221は1行目が「× Yaund」「○ Young」という恥ずかしい間違いから始まり
N <= 0の時のチェック漏れやら
長方形のパターン(N=10の時の[5,5]や[2,2,2,2,2])が抜けてるなど
ミスしまくってました orz てことで、修正します
>>218 Nim
https://wandbox.org/permlink/RUf5B0SVg0MozD25 なーんだそれでいいのか。
それならなんとか組めるかも。 問題の想定解と合ってるのかな?
出題者のコメントが欲しいところ お題:以下を出力
857142
714285
571428
428571
285714
142857 >>227
法則性がわからん
文字列じゃなくあくまで数値で? >>227
Ruby
6.downto(1){|i|p i*1000000/7} >>227 Perl
use 5.016;
use integer;
say 857142 / $_ for 1..6; >>234 間違えてたスマソ
Perl
use 5.016;
say 142857 * (7 - $_) for 1..6;
$ perl 9_227.pl
857142
714285
571428
428571
285714
142857 >>227 Squeak/Pharo Smalltalk
(142857 * (6 to: 1 by: -1)) asStringWithCr
=> '857142
714285
571428
428571
285714
142857' >>227 GNU Smalltalk
6 to: 1 by: -1 do: [:i | (142857 * i) displayNl]
http://ideone.com/yNgDeB >>227 common lisp
(do ((i 6 (- i 1))) ((equal i 0)) (print (floor (/ (* 1000000 i) 7)))) お題が情報不足過ぎて何を使っていいのか悪いのかがわかんない >>227
@Mathematica
In[1]:=142857//
IntegerDigits//
NestList[RotateLeft,#,Length[#]-1]&//
Map[FromDigits,#]&//
Sort//
Reverse//
Map[{#}&,#]&//
Grid
Out[1] = 857142
714285
571428
428571
285714
142857 >>227 Io
a := 999999 / 7
for(i, 6 * a, a, -a, i println) >>227 Nim
for i in countdown(6,1): stdout.writeline i*142857 >>227 ruby
puts (1..6).map {|i| i * 142857}.reverse
>>227 rust
fn main() {
//println!("{}", (1..7).rev().map(|i| (142857 * i).to_string()).collect::<Vec<_>>().join("\n"));
for i in (1..7).rev() {println!("{}", 142857 * i)}
} 227 R
write((6:1)*999999/7.",1) >>227 SWI-Prolog
main(N, X) :- X1 is X * N, write(X1), nl, N > 1, N1 is N - 1, main(N1, X).
:- main(6, 142857). トランプ氏の謎の単語
covfefe
の謎を解明する。 ↑
c,o,v,f,e,f,eの7文字をランダムに出力し続け、covfefeが完成するまでの文字数をカウント >>247 Squeak/Pharo Smalltalk
| count covfefe buffer |
count := 0.
covfefe := 'covfefe' asOrderedCollection.
buffer := covfefe copy atAllPut: $*.
[ count := count + 1.
Transcript nextPut: (buffer removeFirst; add: covfefe atRandom).
(count isDivisibleBy: 1000) ifTrue: [Transcript endEntry].
buffer = covfefe
] whileFalse.
Transcript endEntry.
^count "= 34301 " >>247 効率悪いけれど…
Perl
$w='covfefe';
@l=split '',$w;
do {
$_ .= $l[int(rand(7))];
} while (!/$w/);
print index $_, $w . "\n"; >>249
ゴメン、これだと最初に見つかったときに0になっちゃうんで
「完成するまでの文字数」を出すためには
× print index $_, $w . "\n";
↓
○ print index($_, $w) + 7 . "\n";
に修正させてください。 >>247 Nim
import random
const word = "covfefe"
var count, match = 0
randomize()
while match != word.len():
let ch = word[random word.len()]
stdout.write ch
match = if ch == word[match]: match + 1 else: 0
inc count
echo "\n", count それだとccovfefeのときとか抜け落ちるんじゃね? >>252
その通りですね
お題のcovfefeなら安直な修正でいいかな
- match = if ch == word[match]: match + 1 else: 0
+ match = if ch == word[match]: match + 1 elif ch == word[0]: 1 else: 0 >>247 ruby
covf, buff = 'covfefe', ''
buff += covf.chars.sample until buff.end_with? covf
p buff.size お題: 2つの別々の牧場ウィンドウがあり、その中に複数の牛がうごめいている。複数の牛を選択して、別の牧場ウィンドウにドラッグ&ドロップできるようにしなさい。 GUIの課題ってコードも長くなりがちたから答えにくくない? 賞金は早い者勝ちで三千円。スクリプト野郎どもにはできないだろう。へっ。 >>255
動的言語のscriptでもQt,Wxwidget,Tkinterなど色々のGUI fwが使えるから書けるよ。
でも、エッセンスがなく、会コードが無駄に長くなるお題は、作成に時間がかかるし獣よな技術はないし
趣旨を考えで出題しろよ。
すくなくとも自分で作る気になれる題を出せ >>261
会コードが無駄に長くなるお題は、作成に時間がかかるし獣よな技術はないし
↓
解コードが無駄に長くなるお題は、作成に時間がかかるし技術はないし でも、まぁ地獄の沙汰も金次第というじゃありませんか。
お見積もり30万円以上でしたらpython+tkinterで書いてお納めすtることも
検討させていただきますよ。ハイ
更にハイグレードに300万円だったらPerl+Ptkもお付けいたいます。
いかがですか?だんな
もみ手 【問題】
アルバートとバーナードは、シェリルと友達になったばかりです。
シェリルの誕生日を2人は聞きましたが、彼女は10個の日にちを候補としてあげました。
・5月15日、5月16日、5月19日
・6月17日、6月18日
・7月14日、7月16日
・8月14日、8月15日、8月17日
それからシェリルは、アルバートに「月」だけを、バーナードに「日付」だけをそれぞれ教えました。
アルバート「僕はシェリルの誕生日を知らないけど、バーナードも知らないよ」
バーナード「僕はシェリルの誕生日を知らなかったけど、今は知ってるよ」
アルバート「それなら僕もいつだか知っているよ」
シェリルの誕生日はいつでしょうか?
プログラムを書いてプログラムに解かせること。 Console.WriteLine("知らんがな"); (begin (display "知らんがな")(newline)) 世界で初めて原爆実験が行われた日を
わざわざ答えに選んだのは何か意図があってのこと? 2年前のログ見てみたけどそのときはここに持ちこむ奴いなかったんだな
Prologおじさんとかが嬉々としてやりそうだけど >>264 Perl
@md = ([5, 15], [5, 16], [5, 19],
[6, 17], [6, 18],
[7, 14], [7, 16],
[8, 14], [8, 15], [8, 17]);
push @{$c{$$_[1]}}, $$_[0] for @md;
push @{$d{$$_[0]}}, $$_[1] for grep{1 < @{$c{$$_[1]}}} @md;
while (($m, $v) = each %d) {
print "$m/$$v[0]\n" if 1== @$v;
}
実行結果
$ perl 9_264.pl
6/17 >>272
7月16日が正解なら 解き方間を違えているのかも知れん アルバート「僕はシェリルの誕生日を知らないけど、バーナードも知らないよ」
5,6月を排除
バーナード「僕はシェリルの誕生日を知らなかったけど、今は知ってるよ」
14日を排除
アルバート「それなら僕もいつだか知っているよ」
残り候補が一つの月 -> 7月16日 >>272 の解き方で考えたこと
アルバート「僕は(「月」だけしか教えてもらっていないので)シェリルの誕生日を知らないけど、
(「日付」だけを教えてもらった)バーナードも知らないよ」
⇒「日付」だけ聞けば誕生日だと判明する、即ち日の登場回数が一回だけの月日、
具体的には5月19日、6月18日は対象外とみなし除去
バーナード「僕は「日付」だけを教えてもらっても)シェリルの誕生日を知らなかったけど、
アルバートが「僕はシェリルの誕生日を知らないけど、バーナードも知らないよ」と言うのを聞いて
今は知ってるよ」
⇒日の登場回数が一回だけの19日、6月18日を除去したあと、
登場回数が一回だけの日が バーナードの聞いた「日付」に当たり、
誕生日だと考えられる。
⇒6/17
この考え方が違ったんだろうな… >>275
アルバートは月を知ってるが、バーナードも知らない事を確信できるのは、
18,19日を含まない7,8月のどちらかという事になる -> 5,6月は全削除
それを聞いてバーナードは誕生日がわかるので、7,8月両方に含まれる14日ではなく、
15,16,17日のどれかになる
それを聞いてアルバートがわかるので、候補が一つしか残ってない7月16日という事になる >>278
そこがオレにはよく理解できていなくてさ。
まぁ言葉にあいまいな面があるかもしれんから解釈に差が出たのかな >>279
解釈の差だけが問題じゃないだろ
> ⇒日の登場回数が一回だけの19日、6月18日を除去したあと、
> 登場回数が一回だけの日が バーナードの聞いた「日付」に当たり、
> 誕生日だと考えられる。
18日、19日は日の登場回数が一回だけであるということは
他の日は複数回登場するということだからその論理は破綻してる >>280
それは誤解というか解読不足。
5月19日、6月18日が除去されることによって、
元々複数回登場していた他の日のうち6月17日が単一の日となり
17日という日付さえ知らされれば、誕生日は6月17日と判明できる。 >>281
客観的に見て、アルバートがバーナードも知らない事を確信できる為には、
アルバート自身が知っている月には18,19日が含まれていない必要がある
従って、アルバートが知っている月は5,6月ではないという事 >>282
なるほど考え方は理解できた。
でも5月6月には他の日もあるからバーナードが聞かされた日がそれらで無いとはっきりしていないうちに
月ごと排除して大丈夫? >>281
17日は8月17日もあるから、
6月が17日だけになったからといって、
6月17日が誕生日だとするのは
アルバート、バーナードの台詞を根拠に基づく論理に
無理がないか検証不十分だという気が自分でもしてきた >>283
逆に最初の時点でアルバートはバーナードが知らないとは確信できない
例えばアルバートは6月と聞かされた場合、6月18日の可能性もあるので、
それだとバーナードは18日と聞かされているから知ってるかもしれない ■ このスレッドは過去ログ倉庫に格納されています