X



プログラミングのお題スレ Part9 [無断転載禁止]©2ch.net
■ このスレッドは過去ログ倉庫に格納されています
0001デフォルトの名無しさん
垢版 |
2016/12/01(木) 16:58:30.97ID:gTkHDluD
プログラミングのお題スレです。

前スレ
プログラミングのお題スレ Part8©2ch.net
http://echo.2ch.net/test/read.cgi/tech/1444216746/

【出題と回答例】
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/

宿題は宿題スレがあるのでそちらへ。
0014デフォルトの名無しさん
垢版 |
2016/12/08(木) 00:21:30.57ID:Gvasb8BC
>>9 ruby
・法則見つけた瞬間までがピーク
・実際書くと何一つスッキリ書けなくて悔しい
https://ideone.com/n0RoNr

["0", "10", "1110", "110", "2110", "122110", "11222110", "2122110", "1211222110", "11122122110", "12211222110", "11222122110"]
0016デフォルトの名無しさん
垢版 |
2016/12/08(木) 22:20:30.70ID:eRjONenV
・前項の数字の1の位から順に見てって、数字が連続する数を数えていく。
・数字とその連続数を1の位から順に埋める
・3の数字は削除する
002117
垢版 |
2016/12/10(土) 11:48:18.29ID:E4ED1H/i
ideone.comをフィルターしてるのかと思ったらURL全般だめっぽい
0022デフォルトの名無しさん
垢版 |
2016/12/11(日) 18:00:53.14ID:RSXbZT65
>>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);

無名関数の末尾再帰を使って記述してみました。
0025デフォルトの名無しさん
垢版 |
2016/12/17(土) 22:23:37.55ID:zexuiF2f
案1 Amazon Mechanical Turk を使う。
案2 知恵袋に投げて、回答を転記する。
案3 IBM Watson 使う。
0027デフォルトの名無しさん
垢版 |
2016/12/19(月) 21:40:29.23ID:KFYYsgKs
入力音声を2chのスレに書き込む
レスがあったら音声出力する
処理時間→数分〜数日
0031 ◆QZschizo.iSO
垢版 |
2016/12/31(土) 18:31:14.25ID:nvhfPpJn
瞬速年忘れ問題
2017は素数か?素数なら何番目か?
0035デフォルトの名無しさん
垢版 |
2016/12/31(土) 22:16:03.44ID:oE9oDlU2
ああ、2017ぐらいなら何の工夫もせず力技でごり押ししても大丈夫なのか。
そりゃそうだなw

しかし俺は大みそかに何でこんなスレ覗いてるんだw
0036デフォルトの名無しさん
垢版 |
2016/12/31(土) 22:56:06.40ID:07cXWtfS
>>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))
0039デフォルトの名無しさん
垢版 |
2017/01/01(日) 12:49:27.41ID:AcyWguNB
>>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]
0041片山博文MZ ◆T6xkBnTXz7B0
垢版 |
2017/01/02(月) 15:29:42.51ID:h8C28I9Z
お題:与えられたクレジットカードの番号が正しいかどうか判定するプログラム。
0042片山博文MZ ◆T6xkBnTXz7B0
垢版 |
2017/01/02(月) 15:34:59.42ID:h8C28I9Z
お題:個人情報(氏名、年齢、住所、電話番号)のダミーデータ(偽物のデータ)を大量に作成するプログラムを作れ。
0044デフォルトの名無しさん
垢版 |
2017/01/02(月) 15:47:49.69ID:jOTKTTu2
>>42
wget -r -l 0 URL で適当なサイトから住所のデータを持ってきてシャッフルしダミーデータを生成
0045デフォルトの名無しさん
垢版 |
2017/01/02(月) 16:37:06.06ID:4fVv1Ig/
正しいかどうかはクレカ会社でないとわからない
Luhnアルゴリズムの計算だけでいいならわりと楽だけど
0050片山博文MZ ◆T6xkBnTXz7B0
垢版 |
2017/01/02(月) 18:27:21.29ID:h8C28I9Z
住所や電話番号の一部を伏せ字にすれば迷惑が掛からないとは思うが。。。
ダミーデータの用途によるんだよね。データベースのテスト用とか、●●●●用とか。
0056片山博文MZ ◆T6xkBnTXz7B0
垢版 |
2017/01/04(水) 18:36:48.39ID:83LRywdJ
1^X+2016^1=2017
という形の解が無数に存在する。
これに対する制限がなければ面白くない。
005752
垢版 |
2017/01/04(水) 19:17:06.25ID:y99Ue0/2
では□に入れるのを2以上の自然数に変更させてください
0067デフォルトの名無しさん
垢版 |
2017/01/06(金) 07:39:18.38ID:zAIptLYs
>>66
12^3 + 17^2 = 2017
17^2 + 12^3 = 2017
AB入れ替わりのこれはあるのに

3^4 + 44^2 = 2017
9^2 + 44^2 = 2017
がないのはなんでなんだぜ?
0070デフォルトの名無しさん
垢版 |
2017/01/06(金) 09:28:08.44ID:0R4aMgJq
>>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
0071デフォルトの名無しさん
垢版 |
2017/01/06(金) 21:50:55.39ID:aMqQPymQ
>>66
コメントアウトで書いた議論をそのままコードにすればいいのに、そんなにマジックナンバー埋め込んでどうすんだ
0072デフォルトの名無しさん
垢版 |
2017/01/08(日) 13:22:26.64ID:XDbKIsfA
画面に並んでいるコントロールに左上から右下にタブ順を割り振るアルゴリズムってどう書きますか?
要するに矩形のソート方法です
綺麗に並んでるとは限りませんし重なっているものもあります
目で見た感覚的に正しくなるようにできますかね?
0073デフォルトの名無しさん
垢版 |
2017/01/08(日) 14:54:28.66ID:pxQLZoyB
>>72
(1) 重心の座標を求めて、
(2) Yでソート後Xでソート

とか。

まあ「感覚的に正しい」なんて要件はこの手の問題じゃ曖昧以外の何でもないし
どうやっても厳密な定義は無理だから、普通に左上座標で妥協してもいいんじゃないの
0076デフォルトの名無しさん
垢版 |
2017/01/08(日) 17:17:34.30ID:5tCF0ZUl
>>72
要件が曖昧すぎる
どこを左上として、どこを右下とするのかで結果が変わるだろうし、あなたの感覚とズレが生じることもありえる
円形や一直線に並んでいる場合どこを左上とするのか、
画面右上、左下、右下を結んだ三角形(凾フような形)に並んでいるとき、左上と呼べるようなコントロールが存在しないけど、どうするのか
0077デフォルトの名無しさん
垢版 |
2017/01/08(日) 17:27:52.04ID:MJfiP+Ss
>>76
いや,逆にあいまいな要件のみ提示されていて,それに感覚的に適合する実装を示せ,というお題だろう
客は自分のしたいことを本当には知っていない
0078デフォルトの名無しさん
垢版 |
2017/01/08(日) 17:33:29.68ID:pxQLZoyB
>>77
こういう営業さんがいる会社は悲惨なことになるねw
冗談抜きで、IT業界の一部の労働環境が劣悪な理由はこういう安請け合いにある。
0079デフォルトの名無しさん
垢版 |
2017/01/08(日) 17:43:37.92ID:MJfiP+Ss
>>78
あいまいな要件に対して実装を提案することは問題ないだろう?
問題はその実装をちゃぶ台返しにされないようにすることだろう?
実装の提案ができないようだと仕事にならないのでは?
0080デフォルトの名無しさん
垢版 |
2017/01/08(日) 17:54:48.18ID:pxQLZoyB
>>79
甘いと思うよ。
それ、製品の完成後にこちらの提案が「やっぱり何か違う」ってちゃぶ台返しされるリスクを
考えてないでしょ。

まあスレ違いなんでこれ以上言わないけどさ。
0081デフォルトの名無しさん
垢版 |
2017/01/08(日) 18:05:19.61ID:RSx5of9s
これ業務じゃないんだし、自分だったらこう実装するっていうのを書いてけばええやん
0082デフォルトの名無しさん
垢版 |
2017/01/08(日) 18:21:10.87ID:XDbKIsfA
というかこの問題は順位付けに自明な定義がないところが肝です
AIなどでもそうですけど最近は曖昧かつ感覚に矛盾しない答えを求められる事が増えてきています
0084デフォルトの名無しさん
垢版 |
2017/01/08(日) 23:19:01.41ID:4zEbWvNh
左上と右下を結ぶ線が垂直軸となる座標系に変換して
上から順に拾っていくだけじゃないの?
0086デフォルトの名無しさん
垢版 |
2017/01/09(月) 00:07:13.57ID:g5s54bF4
>>85
何が言いたいのか分からないのでコメントしにくいけど
何かがおかしいとしたらあなたが考えた座標の変換が間違ってるんだろう
0087デフォルトの名無しさん
垢版 |
2017/01/09(月) 00:12:11.15ID:i1HzEaEu
>>86
自分で自分の言ってることが分かってないのかw

A = (0, 80)、 B = (100, 0)とすると、お前さんが言ってる座標兼では
AはBの「上」になる。

このぐらいのことそれを思いついた5秒後に分かれよほんと
0089デフォルトの名無しさん
垢版 |
2017/01/09(月) 07:01:36.39ID:s6rymSkb
>>88
(10,0)と(5,10000)で後者が先に選択されるのはいやだ


次のような長方形からなる集合Uを定義する:
∀a∈ U に対し,∃b∈ a.center ⊂ b or b.center ⊂ aが成立する
0090デフォルトの名無しさん
垢版 |
2017/01/09(月) 07:04:25.54ID:s6rymSkb
ミスった

次のような長方形からなる集合Uを定義する:
∀a∈ U に対し,∃b∈Uが存在し a.center ⊂ b or b.center ⊂ aが成立する
要するに連結した長方形を集めるイメージですね
タグの順位付けしたい長方形の集合を連結した長方形の集合に分割してから
0091デフォルトの名無しさん
垢版 |
2017/01/09(月) 07:08:49.40ID:s6rymSkb
>>90
ほんとごめんなさい
集合Uの頂点を、最も原点(0,0)と集合Uの要素の長方形との距離が最も小さくなる長方形の左上の点と定義して
集合についてソートして、集合の要素についてxでソートするのが個人的に自然な感覚かなぁ
0093デフォルトの名無しさん
垢版 |
2017/01/09(月) 08:02:40.56ID:g5s54bF4
>>87
> A = (0, 80)、 B = (100, 0)とすると、お前さんが言ってる座標兼では
> AはBの「上」になる。

AがBの上になるのはあなたがそう変換した(あなたが決めた)からですよ

現在の座標系と左上と右下を結ぶ線が垂直軸となる座標系との関係性には
自由度があります(1秒で気付くと思いますが)
どのような関係にするかはお題の人間の感覚的に正しく見えるような関係を
選ぶべきであって、あなたが選択した関係に従って変換された座標に対して
あなたがおかしいと思ったというだけですね
0100デフォルトの名無しさん
垢版 |
2017/01/10(火) 21:08:13.05ID:fM7Pfoze
キチガイ降臨age
0104デフォルトの名無しさん
垢版 |
2017/01/10(火) 22:34:23.43ID:U9oYccVU
>>102
誰に物をいってるんだ?
身の程をわきまえろ
0105デフォルトの名無しさん
垢版 |
2017/01/10(火) 22:36:50.29ID:U9oYccVU
>>99
煽って教えてもらうメソッドか
低能って嫌だな
0107デフォルトの名無しさん
垢版 |
2017/01/11(水) 14:49:58.96ID:iTAjJX4H
>>104-105
uyか?Qか?
0109デフォルトの名無しさん
垢版 |
2017/01/11(水) 21:08:00.35ID:0XwQtfyu
QZ怒りのマンガでわかる心理学
■ このスレッドは過去ログ倉庫に格納されています

ニューススポーツなんでも実況