2ちゃんねる スマホ用 ■掲示板に戻る■ 全部 1- 最新50    

■ このスレッドは過去ログ倉庫に格納されています

プログラミングのお題スレ Part14

1 :デフォルトの名無しさん:2019/05/18(土) 17:33:29.45 ID:BWmpW4IF.net
プログラミングのお題スレです。

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

2 名前:デフォルトの名無しさん
  >>1 使用言語
  回答本文
  結果がある場合はそれも

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

宿題は宿題スレがあるのでそちらへ。

※前スレ
https://mevius.5ch.net/test/read.cgi/tech/1549160513/

2 :デフォルトの名無しさん:2019/05/18(土) 21:48:24.46 ID:4Z6EQGT/.net
2get!

3 :デフォルトの名無しさん:2019/05/19(日) 00:58:10.37 ID:+tXYNnhs.net
#!/bin/sh

echo 1乙

4 :デフォルトの名無しさん:2019/05/19(日) 01:17:58.03 ID:nN2qvMwg.net
>>1

>>前スレ920
C
https://ideone.com/bz7Y5P

5 :デフォルトの名無しさん:2019/05/19(日) 08:48:39.78 ID:b1S+2jBu.net
お題
1. URLエンコード
次の文字列をURLエンコード(パーセントエンコーディング)せよ。
但しURLエンコード専用ライブラリだけは使わない事。
‘日 本’
( 全角2文字の間に半角スペースが一つ入ってる.)

元の文字コードはUTF8とする。 この場合は7バイト。
パーセントエンコードとは、バイトの並びについて各バイトを「%XX」(XXは十六進法)という文字列への変換である。 バイト列への変換はライブラリを使っても良い。

正解(アルファベットは小文字も可)
%E6%97%A5%20%E6%9C%AC

2. URLデコード
1でURLエンコードされたものをURLデコードせよ。
URLデコード用ライブラリがあれば使う事。
正解 日 本

6 :デフォルトの名無しさん:2019/05/19(日) 08:56:45.08 ID:b1S+2jBu.net
>>5 python

from urllib.parse import unquote #,quote
url = '日 本'

urle = ''.join([ '%{:x}'.format(b) for b in url.encode('UTF-8') ])

print(urle) # encode same #print(quote(url))
print(unquote(urle)) # decode

''' # 出力
%e6%97%a5%20%e6%9c%ac
日 本
'''

7 :デフォルトの名無しさん:2019/05/19(日) 09:25:01.68 ID:c0f8nIXT.net
何も考えないバカはすぐに飛びつくなぁ
これお題に見せかけた課題か宿題だろw

8 :デフォルトの名無しさん:2019/05/19(日) 10:51:39.18 ID:m8K8ZuW2.net
>>7
出題者本人が回答しているだけだろ。
何も考えない以下略

9 :デフォルトの名無しさん:2019/05/19(日) 11:02:33.76 ID:zmnHcBRa.net
各桁を足し合わせたら引数で与えられた数になるものを5個返す関数を作れ。

例:
sumnum 12
> [39,48,57,66,75] <- 3 + 9 = 12, 4 + 8 = 12, 5 + 7 = 12, 6 + 6 = 12, 7 + 5 = 12

10 : :2019/05/19(日) 11:57:55.37 ID:8BTe2vpb.net
>>5
https://mevius.5ch.net/test/read.cgi/tech/1434079972/56

11 :デフォルトの名無しさん:2019/05/19(日) 12:12:27.92 ID:tgogs/mB.net
お題
(0,0)(0,999)(999,0)(999,999)のx,y 座標系の中の問題

次の20個の数値を先頭から2個ずつ取ってのx,y の位置に 10個のポイントがあるとする。

[136, 577, 110, 927, 472, 199, 157, 808, 388, 598, 94, 31, 388, 157, 325, 409, 787, 897, 850, 598]

(136,577) (110,927) 〜(850,598) 10ポイント

問題1 外側の正方形
全てのポイントが正方形の内側にあり、正方形の面積が一番小さくなる正方形の4点の座標を示せ。 但し正方形の座標は(999,999)の範囲内とする。
正方形は斜めもあり得る。 正方形の辺は必ず2点以上ポイントに重なっている。

問題2 内側の正方形
全てのポイントが正方形の外側にあり、正方形の面積が一番大きくなる4点の座標を示せ。
正方形は斜めもあり得る。 正方形の辺は必ず2点以上ポイントに重なっている。

問題を難しく感じる人は、斜めの正方形は考えないとしても良い。その旨回答に書いておいてください。

12 : :2019/05/19(日) 12:20:45.20 ID:8BTe2vpb.net
お題と回答
>>5 : >>6 >>10
>>9 :

13 :デフォルトの名無しさん:2019/05/19(日) 12:21:01.79 ID:sA5/dcdL.net
宿題スレ行けって

14 :デフォルトの名無しさん:2019/05/19(日) 12:29:21.94 ID:tgogs/mB.net
>>12 おいおい、金儲けにするんかい。 ま、金を払う人がいるなら良いが。 学生の宿題に需要があるかな?
しかしこんなところで宣伝すんな。

15 :デフォルトの名無しさん:2019/05/19(日) 12:30:23.34 ID:GWUTnTrp.net
>>9 https://ideone.com/4nfTNV

16 :デフォルトの名無しさん:2019/05/19(日) 13:00:59.70 ID:tgogs/mB.net
>>15 93 だけは正しいけど他は違うだろと思ったが、0を足しても結果は変わらないから詐欺に近いな。
しかしこう言う指摘は、プログラムには重要。

こう言う考え方をするなら、129 12342 なども該当するな。
あまりにも組み合わせが多すぎるから、条件をつけないとな。

問題の条件として各桁に0は含まないとしたり数字は2桁以内とするとか、答えは一番大きな数字を上から順に5つ示せとか。

17 :デフォルトの名無しさん:2019/05/19(日) 13:16:39.44 ID:tgogs/mB.net
出題するときには、答えが一意になる様にした方が良い。
回答する方も戸惑うし、正解が何かも判りづらくなる。

出来るだけ正解は少ない方が良い。 理想的には一つ。

18 : :2019/05/19(日) 14:18:25.76 ID:8BTe2vpb.net
>>14
>>12 のどこに宣伝の文言が記載されているのですか?

19 :デフォルトの名無しさん:2019/05/19(日) 14:19:46.32 ID:xtBtC84Z.net
0 -> 1
1 -> 11
2 -> 101
3 -> 1111
4 -> 10001
5 -> 110011
6 -> 1010101
7 -> 11111111
8 -> 100000001
9 -> 1100000011
10 -> 10100000101
11 -> 111100001111
12 -> 1000100010001
13 -> 11001100110011
14 -> 101010101010101
15 -> 1111111111111111
この0から15までを隙間なく並べる
隙間なく並べるとは例えばこの0から2までなら
0 -> 1
1 -> 11
2 -> 101

---1
11
--101

11111
このように1同士がぶつからずにそして0がなくなるように並べる
この場合の解答は0番を3つ右にずらして2番を右に二つずらしているので
(0,3)(1,0)(2,2)となる

20 :デフォルトの名無しさん:2019/05/19(日) 14:36:55.39 ID:GWUTnTrp.net
詐欺は酷くないか
要件は満たしてるし、何より解が存在する全ての値に対して正しい解を出力するだろ
sumnum 1についても対応しようとしたらこれが綺麗な解法の1つであることは疑いようもない事実のはず

21 :デフォルトの名無しさん:2019/05/19(日) 14:45:53.44 ID:GWUTnTrp.net
>>20 と思ったが俺が間違ってた
相違なる数と言われてないから、sumnum 0に対しても[0,0,0,0,0]が解を満たすわな、すまんかった

22 : :2019/05/19(日) 14:47:51.69 ID:8BTe2vpb.net
お題と回答
>>5 : >>6 >>10
>>9 : >>15
>>11:
>>19:

23 :デフォルトの名無しさん:2019/05/19(日) 14:55:35.26 ID:Ep+P2jjw.net
>>18 リンク先に書いてあるじゃん、金払えと。
>>19 さっぱりわからん。 何のための説明をしてるの? どんな問題に関係してるの?

24 :デフォルトの名無しさん:2019/05/19(日) 15:06:26.05 ID:dHqS2yoD.net
お題
ペアノの公理、及びペアノに依る加法の定義に従って 128 + 256 を計算せよ。

25 : :2019/05/19(日) 15:08:58.77 ID:8BTe2vpb.net
>>23
>リンク先に書いてあるじゃん、金払えと

根拠のないデマを流さないでください
>>12 に記載のアンカーの一つ >>10
>>10 に記載のアンカー(リンクの一つ) https://mevius.5ch.net/test/read.cgi/tech/1434079972/56
https://mevius.5ch.net/test/read.cgi/tech/1434079972/56 に記載のリンクは https://ideone.com/Nxx41h でこれは ideone へのリンク
リンクをたどれるところのどこにも宣伝は記載していません

>>10 に記載のアンカーの一部 https://mevius.5ch.net/test/read.cgi/tech/1434079972/
のうち https://mevius.5ch.net/test/read.cgi/tech/1434079972/1 には、ビットコインの請求が発生する手順が定義されており
その定義を満たさないものについては、特に「※本フローに従わない回答掲示についてはビットコインの請求は発生しないものとします。」と注記していますね

したがって、そもそも「金払え」とは書いてませんし、あるいは「ビットコインを払え」とすら書いていませんね

26 :デフォルトの名無しさん:2019/05/19(日) 15:58:31.52 ID:+SzmmtV9.net
>>25 だったら何で金を要求するサイトへのリンクを貼るんだよ。 ビットコインを稼ぎたいための宣伝だろ?

下心がないのなら直接 ideon のリンクを貼れば良いじゃないか。 面倒臭いし。

27 : :2019/05/19(日) 16:07:32.50 ID:8BTe2vpb.net
>>26
自分の書いたコードを一箇所に固めているだけですよ
これわりと便利で、3年前のコードなんかすっかり忘れてしまっているのを呼び出せるのです、ああ、あのとき N クイーンやったよね、とか
自分のローカルは一つのディレクトリに放り込んでいるだけだから grep でも検索困難…

28 :デフォルトの名無しさん:2019/05/19(日) 16:17:53.58 ID:+SzmmtV9.net
練習問題のコードなんて使い捨てでいいじゃない。 俺も最初の頃は記録してたけど、もうやめた。
要は必要なときに必要なコードが書けなければそれまでなんだから、最初から勉強し直しても同じ。
昔のコードを見ても自分が理解していないんだから同じ。

沢山練習した方が良い。 基本から見直す事でより理解が深くなる。

29 : :2019/05/19(日) 16:51:21.34 ID:8BTe2vpb.net
>>28
ええ、まったくの使い捨てでここ十年くらいやってますが、特定のスレに ideone/codepad のリンクを貼っていたのが、十年たってみると、当初は意図していなかった効用をもたらしてくれているんですね

30 :デフォルトの名無しさん:2019/05/19(日) 18:13:20.80 ID:CS5X1kUk.net
>>23
自己愛性パーソナリティ障害の朝鮮人は相手にすんなよ

31 :デフォルトの名無しさん:2019/05/19(日) 18:40:48.30 ID:ibH/HNzv.net
ネトウヨの相手もすんなよ

32 :デフォルトの名無しさん:2019/05/19(日) 19:37:16.01 ID:lXFYvnLZ.net
>>5 Squeak Smalltalk

'日 本' encodeForHTTP "=> '%E6%97%A5%20%E6%9C%AC' "

'%E6%97%A5%20%E6%9C%AC' unescapePercents "=> '日 本' "

33 :デフォルトの名無しさん:2019/05/19(日) 20:09:21.36 ID:b1S+2jBu.net
>>32 但しURLエンコード専用ライブラリだけは使わない事。

34 :デフォルトの名無しさん:2019/05/19(日) 20:17:22.66 ID:w9oOtt0P.net
>>9
Python3
https://ideone.com/v9wx2v

35 :デフォルトの名無しさん:2019/05/19(日) 20:20:05.14 ID:w9oOtt0P.net
>>9
Haskell

import Data.Char

main = (print.sumnum) 12

sumnum 0 = [0]
sumnum n |n < 0 = error "Please n >= 0 number"
sumnum n = take 5 [x | x <- [0..], n == sum [read [a]| a <- show x]]

36 :デフォルトの名無しさん:2019/05/19(日) 20:25:29.07 ID:iZGlVtrY.net
>>5
Java
https://paiza.io/projects/lPsVtvM3yO0cQEnRxg7fpQ

37 : :2019/05/19(日) 20:30:36.06 ID:8BTe2vpb.net
>>36
いいことを教えてもらいました、Java って uft-16 だけかとおもっていました…

38 :デフォルトの名無しさん:2019/05/19(日) 21:30:05.06 ID:GwAz9H1L.net
>>33
組み込みメソッドの使用禁止とかばかげてる

39 : :2019/05/19(日) 21:53:11.12 ID:8BTe2vpb.net
https://mevius.5ch.net/test/read.cgi/tech/1549160513/779
https://mevius.5ch.net/test/read.cgi/tech/1434079972/57

40 :デフォルトの名無しさん:2019/05/19(日) 22:17:12.44 ID:6fg2Xy1G.net
出禁 ID:8BTe2vpb

41 :デフォルトの名無しさん:2019/05/19(日) 22:26:04.27 ID:iE9NckHD.net
正直言ってここに出てくるお題よりAtCoderのお題の方がレベル高いよね

42 :デフォルトの名無しさん:2019/05/19(日) 22:53:21.34 ID:nN2qvMwg.net
11がマジで難しいんだけど、だれか取り組んでる?

43 : :2019/05/20(月) 00:00:59.23 ID:V0YkyU13.net
>>41
小ネタの合間にめんどくさいものがポツポツあるかと >>11 とか

44 :デフォルトの名無しさん:2019/05/20(月) 02:35:31.92 ID:8xDKheXg.net
>>5
Kotlin
https://paiza.io/projects/DCRebTKGifCuLe5ysI1JIA

45 :デフォルトの名無しさん:2019/05/20(月) 06:02:09.58 ID:poyp5Kqc.net
漏れなんて、書き捨てのRuby のファイルが、100もある

いつも、Windows10 で、WSL, Ubuntu16.04 から、grep してる

46 :デフォルトの名無しさん:2019/05/20(月) 06:44:50.41 ID:Wdi8QIqr.net
お、ツッコミ待ちか?

47 :デフォルトの名無しさん:2019/05/20(月) 07:53:09.19 ID:oPixGX3C.net
お題
Excelのカラム名でHELLOからWORLDまで表示する

48 :デフォルトの名無しさん:2019/05/20(月) 09:16:55.34 ID:m4uUuPD/.net
>>11 問題1の斜めにしない直行正方形までは出た。

xの範囲= (94, 31) (850, 598) 差 756
yの範囲= (94, 31) (110, 927) 差 896
1辺= 896

直行正方形 (94, 31) (990, 31) (94, 927) (990, 927)
次はこれを傾けていくんだな。これがムズイ。

49 :デフォルトの名無しさん:2019/05/20(月) 13:11:43.52 ID:YvmdLvGf.net
>>11 x,y座標は 0〜999までの整数 辺の長さは斜めになった時は整数とは限らない。

50 :デフォルトの名無しさん:2019/05/20(月) 15:10:01.16 ID:poyp5Kqc.net
プログラミングのお題スレ Part13
https://mevius.5ch.net/test/read.cgi/tech/1549160513/920-984

前スレのランク付けの問題は、O(n^2)とかなら簡単なんだが、
ハッシュなどを使って、計算回数を少なくするのに、苦戦してる

入力データ
-6 3 9 5 3 -7
出力・ランク
2 3 5 4 3 1

51 :デフォルトの名無しさん:2019/05/20(月) 18:09:47.07 ID:paVMwW+F.net
ハッシュを使ってんのがperlのじゃねえの

52 :デフォルトの名無しさん:2019/05/20(月) 19:35:06.91 ID:SPSZRaeY.net
ランク付けならmap使うと楽、O(NlogN)が想定解

53 :デフォルトの名無しさん:2019/05/20(月) 19:41:12.77 ID:Nk0f6TzG.net
前スレの場合、みんなハッシュ(set)かソート使ってたじゃん

54 :デフォルトの名無しさん:2019/05/20(月) 19:53:28.74 ID:GKW/g8qb.net
>>53 コンパクトなコーディングはみんなほぼ同じだったね。

python smalltalk java

なんかプログラミング言語を見直しはじめたよ。
複雑にせずに根本を見つめるコーディングが出来る言語というのは素晴らしい。

55 :デフォルトの名無しさん:2019/05/20(月) 19:56:03.94 ID:jO4bupva.net
え、JAVA?

56 :デフォルトの名無しさん:2019/05/20(月) 19:58:48.02 ID:HD7QqTZv.net
>>前スレ988 Perl5
https://mevius.5ch.net/test/read.cgi/tech/1549160513/988

sub p {
 $h = int $n/2;
 for ($i=2; $i<=$h; $i++) {
  $s[$i] = 1 unless exists $s[$i];
  do {$s[$i*$_] = 0 for 2..int $h/$i} if $s[$i];
 }
 @p = grep{$s[$_]} 2..$h;
}
sub f {
 my $i = shift;
 my $h = int $i/2;
 for $j (grep{$_ <= $h} @p) {
  return ($j, f($i/$j)) if 0 == $i % $j;
 }
 $i
}
for $n (qw{28 2002 216653}) {
 p;
 my %f; $f{$_}++ for f($n);
 @f = map{$_ . (1 < $f{$_} and "^$f{$_}")} sort{$a<=>$b} keys %f;
 $" = '+';
 print "$n => @f\n";
}

実行
~ $ perl 13_988.pl
28 => 2^2+7
2002 => 2+7+11+13
216653 => 216653

57 :デフォルトの名無しさん:2019/05/20(月) 20:01:05.70 ID:oKvxv21R.net
setにぶちこんで重複削除、リストにしてソートしてマップの値の方にインデックス入れて最後にそのマップ使って出して完成

58 :デフォルトの名無しさん:2019/05/20(月) 20:02:09.53 ID:oKvxv21R.net
ゆっくり書いてたら間にたくさんの書き込みが入った。
俺のことは忘れてくれ。

59 :デフォルトの名無しさん:2019/05/20(月) 20:08:45.44 ID:HD7QqTZv.net
>>56 スマソ、ケアレスミスった、繋ぐ演算子は+ => *だた…orz
sub p {
 $h = int $n/2;
 for ($i=2; $i<=$h; $i++) {
  $s[$i] = 1 unless exists $s[$i];
  do {$s[$i*$_] = 0 for 2..int $h/$i} if $s[$i];
 }
 @p = grep{$s[$_]} 2..$h;
}
sub f {
 my $i = shift;
 my $h = int $i/2;
 for $j (grep{$_ <= $h} @p) {
  return ($j,f($i/$j)) if 0 == $i % $j;
 }
 $i
}
for $n (qw{28 2002 216653}) {
 p;
 my %f; $f{$_}++ for f($n);
 @f = map{$_ . (1 < $f{$_} and "^$f{$_}")} sort{$a<=>$b} keys %f;
 $" = '*';
 print "$n => @f\n";
}

実行
~ $ perl 13_988.pl
28 => 2^2*7
2002 => 2*7*11*13
216653 => 216653

60 : :2019/05/21(火) 22:06:24.96 ID:vwCWORvF.net
test

61 : :2019/05/21(火) 22:14:40.60 ID:vwCWORvF.net
>>56
https://mevius.5ch.net/test/read.cgi/tech/1434079972/58

62 : :2019/05/21(火) 22:17:32.24 ID:vwCWORvF.net
お題と回答
>>5 : 6 10 32 36 44
>>9 : 15 34 35
>>11 : 48
>>19 :
>>50, https://mevius.5ch.net/test/read.cgi/tech/1549160513/920 :
https://mevius.5ch.net/test/read.cgi/tech/1549160513/988 : 59 61

63 :デフォルトの名無しさん:2019/05/21(火) 23:09:46.41 ID:Arl7g85c.net
あなたが解けない C/C++/Java/C#/JavaScript の問題を有償で片付けるスレッドです

64 :デフォルトの名無しさん:2019/05/21(火) 23:10:51.22 ID:Arl7g85c.net
有償で片付けるスレッドに貼り付けるのはよろしくないね
有償で片付けてほしくて出題してるわけじゃないでしょ
問題の窃盗だよ

65 :デフォルトの名無しさん:2019/05/21(火) 23:21:22.29 ID:GF2ZpO+x.net
>>59
Perlは配列に対するexistsやdefinedは呼び出せるが振る舞いは不明確で「強く」非推奨となっているので
この場合では問題なくとも@pはリストではなく代わりにハッシュ%pを使って実装するべきだった

66 :デフォルトの名無しさん:2019/05/21(火) 23:33:57.22 ID:GF2ZpO+x.net
>>65
ハッシュにしたほうが良いのは@pじゃなくて@sの方だったわ

67 :デフォルトの名無しさん:2019/05/21(火) 23:56:06.27 ID:Jac4P34c.net
>>64
バカチョンには何を言っても無駄だと思うよ
聞く耳持たない分からず屋の馬鹿だからバカチョンなんだから

68 :デフォルトの名無しさん:2019/05/22(水) 00:03:24.91 ID:qz4w5gXY.net
>>64
>>27に理由が書かれていたが、一ヶ所に纏めておくと便利だなんてのは個人の都合であって、他の人にはわざわざ間接参照を強いることになるのだから、ほんとに身勝手な奴だと思う。

>>27
纏めておくのは他所で勝手にやれ、このスレにはコードだけを貼れよ。お前の手間なぞ知ったことではない。

69 :デフォルトの名無しさん:2019/05/22(水) 00:04:37.78 ID:I/cGK6IK.net
ネトウヨもコテハンもうぜえわ

70 :デフォルトの名無しさん:2019/05/22(水) 01:11:55.55 ID:BQdyZ7fR.net
>>62 折角まとめるんなら、回答の方も >> でリンクを貼って欲しいな。

71 :デフォルトの名無しさん:2019/05/22(水) 01:20:05.57 ID:34FbFmyD.net
>>70
それは絶対にやらないんじゃね
奴は自分のことしか考えてないから
だから自己愛
永遠に人から煙たがられる存在

72 :デフォルトの名無しさん:2019/05/22(水) 01:29:50.95 ID:BQdyZ7fR.net
>>11 は、多角形の中のドットの内外判定問題と言うのが確立されてるみたいね。
色んな方法があるみたいだが、簡単なのは、
Crossing Number Algorithm
らしい、ググってみると結構コンパクトなコード。
他も見てみたが、問題は境界線上にある点は多角形外と判定する事。

だから、そのままのロジックに手を入れないとした場合、使う側としてどう解決したら良いんだろう。
直行正方形を1ドットずつ大きくしてから回転させる?

それとも、多角形の中の多角形問題の方が適してるのかな?

この問題は結構勉強になる。 問題のイメージを掴むために、図形表示までやり始めたよ。 表示するとより楽しくなる。

73 :デフォルトの名無しさん:2019/05/22(水) 01:32:14.02 ID:BQdyZ7fR.net
>>71 そこまで悪い人間では無さそうだけどな、おだてれば猿も木に登るタイプだとみた。
高い木に登ってもらおう。

74 :デフォルトの名無しさん:2019/05/22(水) 01:33:07.52 ID:57KmKoFr.net
ググラないで考えようとしていたけど、
ヒントを目にしてしまった気分
いやべつにいいけどさ

75 :デフォルトの名無しさん:2019/05/22(水) 01:34:42.74 ID:7yGywXQG.net
Q. クソ問題とは何ですか?
A. 問題の解釈を巡って議論や煽り合いが10レス以上続く、バカが投稿した不備のある問題のことです。

76 :デフォルトの名無しさん:2019/05/22(水) 04:38:05.31 ID:qmHT8WH/.net
>>47 Ruby
("HELLO".."WORLD").each{|v| puts v}

77 :デフォルトの名無しさん:2019/05/22(水) 07:31:41.79 ID:O8fu6CiE.net
>>62
前スレ920 >>4

78 :デフォルトの名無しさん:2019/05/22(水) 07:39:53.22 ID:O8fu6CiE.net
>>72
https://dotup.org/uploda/dotup.org1853571.cpp.html

とりあえず図形表示。
一応内部の点は除去して、凸包を表示するような感じにしてる。
左クリックで頂点追加、右クリックで全削除、中クリックでリセット

操作しながらいろいろ検討してるけど、さっぱり思いつかない。

79 :デフォルトの名無しさん:2019/05/22(水) 10:43:49.16 ID:qmHT8WH/.net
>>9 Ruby

def sumnum(n)
(0..4).map{|i| ("1"*n +"0"*i).to_i}
end

80 :デフォルトの名無しさん:2019/05/22(水) 12:02:59.73 ID:75T3S5z+.net
>>78  
Windows じゃないと動かないようだけど見やすいようにideonに張ってみた。
https://ideone.com/gJVREH

凸包と言うんだね。

2次元の凸包を求めるアルゴリズムと応用について
https://matsu7874.hatenablog.com/entry/2018/12/17/025713
凸包(convex hull)とは,与えられた点をすべて包含する最小の凸多角形(凸多面体)のこと.

--------
凸包が求められても難しいね。 凸包内の点を削除して計算時間を削減できる効果はあるかもしれないけど。

81 :デフォルトの名無しさん:2019/05/22(水) 12:11:47.61 ID:/472uU17.net
凸包が求められれば、頂点の並びも整列するので
形状を分割して余弦定理とかから導けないかなって思ったんだよね

82 :デフォルトの名無しさん:2019/05/22(水) 12:13:57.61 ID:pwChZnOT.net
>>47
画面の幅が足りなくて表示できません。

83 :デフォルトの名無しさん:2019/05/22(水) 12:34:28.61 ID:/472uU17.net
ちなみに、最小を求めるだけならある角度から見た凸包の一次元への投影と、直交する角度からの一次元への投影を180度回しながら調べれば出せると思うけど、分割の粒度の問題で、本当に最小が取れる保証はないね

84 :デフォルトの名無しさん:2019/05/22(水) 13:45:45.60 ID:pwChZnOT.net
>>76
試しに Perl でも 文字列 .. 文字列 をやってみたらできたよ。
こんなことできたとは。知らないまま20年以上使ってたよ。w

85 :50:2019/05/22(水) 19:14:59.08 ID:1CosvZF6.net
>前スレの920
頭を使った。Ruby で、

str = "-6 3 9 5 3 -7"

original_ary = str.split.map!( &:to_i ) # 各要素は整数型
hash = original_ary.each_with_object( { } ) { | num, h | h[ num ] = true }

sorted_ary = hash.sort # キーでソートする
#=> [[-7, true], [-6, true], [3, true], [5, true], [9, true]]

# Enumerator#with_index(offset = 0)
sorted_hash = sorted_ary.each.with_index( 1 ) { | elem, idx | elem[ 1 ] = idx }.to_h

# p sorted_ary
#=> [[-7, 1], [-6, 2], [3, 3], [5, 4], [9, 5]]

# p sorted_hash
#=> {-7=>1, -6=>2, 3=>3, 5=>4, 9=>5}

results = original_ary.map{ | num | sorted_hash[ num ] }
puts results.join( " " ) #=> 2 3 5 4 3 1

86 : :2019/05/22(水) 19:16:47.93 ID:Kujyr1dD.net
>>70-71
アンカーが多すぎると投稿できないのです、ただそれだけです

87 : :2019/05/22(水) 19:17:22.29 ID:Kujyr1dD.net
>>73
>おだてれば猿も木に登るタイプだとみた。
痛いところを突きますね…

88 :50:2019/05/22(水) 19:26:33.00 ID:1CosvZF6.net
>2 3 5 4 3 1

これが、
2 3 6 5 3 1

みたいに、4 が無くなる・飛ばされるランキングだと、もっとややこしい!w

89 :デフォルトの名無しさん:2019/05/23(木) 09:23:03.57 ID:mvOL8yN3.net
前スレの920 Ruby



def f(a)
b={}
a .dup.sort.each{|v|b[v]=b.size+1 if not b.key v}
a.map{|v|b[v]}
end

p f([-6,3,9,5,3,-7])
[2, 3, 5, 4, 3, 1]

90 :デフォルトの名無しさん:2019/05/23(木) 12:32:00.03 ID:vYeVJ6FZ.net
>>34
>>79

一休さんみたいなトンチの効いた回答で、それはそれで楽しめました。

改めて問題を書き直します。

各桁を足し合わせたら引数で与えられた数になる数の集合全体から小さい順に(可能なら=0対策)5個返す関数を作れ。

例:
sumnum 12
> [39,48,57,66,75] <- 3 + 9 = 12, 4 + 8 = 12, 5 + 7 = 12, 6 + 6 = 12, 7 + 5 = 12

91 :デフォルトの名無しさん:2019/05/23(木) 12:33:09.81 ID:vYeVJ6FZ.net
>>34>>15の間違い

92 :デフォルトの名無しさん:2019/05/23(木) 13:50:07.86 ID:qjdiTxTD.net
苗字で漢字の「口」を「くち」ではなく「ぐち」と読むのは
井口、矢口、田口の3つだけ
これマメな

93 :デフォルトの名無しさん:2019/05/23(木) 15:16:07.91 ID:j56nuYko.net
>>92
川口
ハイ論破

94 :デフォルトの名無しさん:2019/05/23(木) 16:02:19.12 ID:4YO7mLFH.net
ただの荒らし 、蒸し蒸し by 山口

95 :デフォルトの名無しさん:2019/05/23(木) 17:19:50.40 ID:TKS1qOdO.net
>>90 OCaml
https://ideone.com/kvm79F

96 :デフォルトの名無しさん:2019/05/23(木) 18:37:52.11 ID:TjazBdz3.net
>>90
Haskell

import Data.Char要らんかった。
take 5も問題と違うけど外に追い出した方が応用効きそう。

main = (print.take 5.sumnum) 12

sumnum 0 = [0]
sumnum n |n < 0 = error "Please n >= 0 number"
sumnum n = [x | x <- [1..], n == sum [read [a]| a <- show x]]


>>95
OCamlで無限リスト処理どうすんだろと疑問だったので、後で精読させて頂きますm(_ _)m

97 : :2019/05/23(木) 18:40:43.46 ID:QGT5qlDg.net
>>92
谷口
関口
合口・相口・藍口・青口・赤口・秋口・明口… https://name.sijisuru.com/Fname/search?option=1&moji=%E5%8F%A3&pages=0&kanjilen=0&kanalen=0&romalen=0

98 :デフォルトの名無しさん:2019/05/23(木) 19:39:17.51 ID:4YO7mLFH.net
>>97 もう相手にすんな。お題にするなら、

その9つの名前の読み仮名のあいうえお順に並べよ。

谷口・関口・合口・相口・藍口・青口・赤口・秋口・明口

読み仮名を持ってくるのが難しそうだけどな。

99 :デフォルトの名無しさん:2019/05/23(木) 21:02:26.03 ID:W0nkxFNY.net
aを要素の型がIntである長さNの配列、k、cを型がIntである変数とする。
{P}a[a[k]]=c;{a[a[k]]!=c}
Hoare tripleが成立するためのなるべく弱いPを示せ

100 : :2019/05/23(木) 21:06:01.11 ID:QGT5qlDg.net
>>99
教えてください
P は何ですか?
{ } とは何を表しているのですか?

>{P}a[a[k]]=c;{a[a[k]]!=c}

101 :デフォルトの名無しさん:2019/05/23(木) 21:17:28.82 ID:W0nkxFNY.net
>>100
https://i.imgur.com/CRuu9do.jpg
https://i.imgur.com/DKfpAvB.jpg

102 :デフォルトの名無しさん:2019/05/23(木) 21:38:26.52 ID:iqEot/XY.net
sumnum、引数に10000とか与えたら答え返ってこなさそう
引数に1億とかは文字列長が千万とかになるから無理でも仕方ないけど、1万位は対応したいね

103 :デフォルトの名無しさん:2019/05/23(木) 23:35:27.08 ID:+TqLtPkO.net
>>102
下位桁に9が並ぶだけじゃね?

104 :デフォルトの名無しさん:2019/05/23(木) 23:45:44.19 ID:iqEot/XY.net
>>103 知らない言語ばかりでよく読めてないんだが、今までの提出って1から順に試してね?
それだと当然結果が返ってこないが
違ったらすまん

105 :デフォルトの名無しさん:2019/05/24(金) 00:19:46.43 ID:25j6Q5My.net
QZは相変わらず頭が悪い癖にプライドだけは高いな

106 :デフォルトの名無しさん:2019/05/24(金) 00:38:02.83 ID:3viueN7b.net
>>92は「必ずレスがもらえるレス」として有名な文らしいな
案の定わんさかレスの付いてること

107 :デフォルトの名無しさん:2019/05/24(金) 01:07:12.76 ID:/EuQv4hQ.net
>>99 何語?

108 :デフォルトの名無しさん:2019/05/24(金) 01:41:24.00 ID:/EuQv4hQ.net
>>11 閑話休題 凸包
https://i.imgur.com/rMEhakE.jpg

109 :デフォルトの名無しさん:2019/05/24(金) 02:55:43.78 ID:/EuQv4hQ.net
>>108 この凸包図を眺めてると、正解の正方形は 左辺の一番長い線を1辺とした正方形になりそうだが、それをどうやって求めるのか。

How to find the minimum-area-rectangle (MAR) fitted on the given points?
https://gis.stackexchange.com/questions/22895/finding-minimum-area-rectangle-for-given-points

最初に書いた人は、凸包を求めて重心を中心として1度ずつ回転させるやり方を考えたらしいが、下の方で良い解法のコメントが付いてた。

https://i.stack.imgur.com/ExZl3.png

少しずつ回転させるのではなくて、長方形の1辺は必ず凸包の辺のどれかと重なってるはずだから、凸包の辺の角度だけをとって試せば良いとのこと。
これなら重心を求める必要もないし、時間はかからない。

長方形が求まったら、座標系の中に入る正方形にすれば良いがはみ出してたら、参考解かな。

このアルゴリズムは、
The algorithm you are looking for is known in polygon generalisation as "smallest surrounding rectangle".
凸包最小長方形の解法とでも言えば良いのかな。

110 :デフォルトの名無しさん:2019/05/24(金) 06:39:15.19 ID:UW+Tk6Dp.net
>>109
正方形を求める場合で凸包がひし形の場合、その方法はうまくいかないきがす?

111 :デフォルトの名無しさん:2019/05/24(金) 09:32:40.58 ID:0g5oPW7D.net
今回のアルゴリズムは、最小の正方形を求める方法だけじゃなくて、グラフの境界との交差判定もあるから
最小の求め方だけではなく、2番め以降についても正しく判定できないといけない上に、回答が一つに定まらない可能性もあるんだよね

112 :デフォルトの名無しさん:2019/05/24(金) 09:46:10.43 ID:SalRbGaI.net
与えられた点を全て含む凸包全体からなる集合の濃度は明らかに連続体濃度なんだから2番目なんて存在しないぞ

113 :デフォルトの名無しさん:2019/05/24(金) 10:02:31.57 ID:SalRbGaI.net
あ、凸包じゃなくて凸多角形な

114 :デフォルトの名無しさん:2019/05/24(金) 10:35:59.86 ID:0g5oPW7D.net
>>112
書いててあれ?と思てったけど、たしかにそうだ。
俺では解けなさそうだ。

115 :デフォルトの名無しさん:2019/05/24(金) 11:52:18.57 ID:MR3FxfYE.net
>>111 1辺から正方形を作る場合は、その正方形が全ての凸包の頂点を全て含むような大きさでなければならない。
この場合6辺あるから、そのような6つの正方形を作ってその中の最小のものを求めることになる。

面倒なのはそれが座標系に入らないといけないから場合によっては辺に平行移動しないといけないかも知れない。
すると、>>112 の言うように正方形の位置は変わるかもしれないけど、辺の長さが合ってれば正解だろうね。
(この場合は座標系に入るだろうからとりあえずは平行移動は考えないでも良いかも)

116 :デフォルトの名無しさん:2019/05/24(金) 12:12:24.29 ID:MR3FxfYE.net
>>110 どんな凸包体でも求まるよ。 1辺の長さが凸包体の辺の長さと一致させるわけじゃないよ。

全ての頂点を含む直方体を作る。 この求め方も工夫が必要そう。
1辺を伸ばした直線上に全ての頂点から垂線を引いて、一番外の距離を直方体の1辺とするんだろうな。
同じように他辺も求める。

117 :デフォルトの名無しさん:2019/05/24(金) 12:51:12.25 ID:Nda2hmui.net
>>116
雑な書き殴りですまん
https://i.imgur.com/v8rWTSf.png

さらにややこしいのは、凸包の頂点が正方形の辺上に位置して、
頂点に存在しないことのほうが多いのも難くする要因の一つ

118 :デフォルトの名無しさん:2019/05/24(金) 13:09:58.32 ID:MR3FxfYE.net
>>117 あ、そうか。

119 :デフォルトの名無しさん:2019/05/24(金) 18:00:01.45 ID:ZpEEE6+U.net
>>11 色々見たけど、画像認識の境界を探す為にある程度人気のある話題みたいだが、完全を求めるのではなく、だいたいで良いからスピードの速いのが良いとしてるみたいだね。 境界自体があやふやなものだし。

厳密にやるとしても、長方形と正方形ではかなり条件が違う。

全ての点が正方形に入るのなら、一つの候補は凸包の対角上の点が一番離れているところを正方形の対角とした正方形が一つの候補ではないだろうか。
直交正方形が最大だからそこまでを調べれば良いけど、それだけをしらみつぶしに調べてどれだけ時間がかかるかだな。
それをはみ出る点がある場合にどうゴニョゴニョするかだけど、条件が絞れればスピードは速くなる。

一般的にはポイント数は膨大な数だから、条件を絞り込む方法が重要になりそう。


しかし、こんな例題はどこにでもありそうで殆どサンプルがないのは時間がかかりすぎて簡単に試せないのかな、今回はポイント数が少ないからそれほどではないとは思うけど。

120 :デフォルトの名無しさん:2019/05/24(金) 18:05:08.54 ID:ZpEEE6+U.net
>>119 文章が変な順になっててごめん。

全ての点が正方形に入るのなら、一つの候補は凸包の対角上の点が一番離れているところを正方形の対角とした正方形が一つの候補ではないだろうか。

それをはみ出る点がある場合にどうゴニョゴニョするかだけど、条件が絞れればスピードは速くなる。

直交正方形が最大だからそこまでを調べれば良いけど、それだけをしらみつぶしに調べてどれだけ時間がかかるかだな。

121 :デフォルトの名無しさん:2019/05/24(金) 18:27:30.58 ID:ukAKIdqH.net
計算両を優先するなら、座標軸を基準にとって大雑把に取るべきじゃないのかな
これなら、ゲームのコリジョン検出で使われる方法そのままだし

122 :デフォルトの名無しさん:2019/05/24(金) 18:52:18.42 ID:U6fsa1pB.net
点の数は関係なくね?
任意の3点を選んでその内部にある点は無いものとして考えても同じなんだから

123 :デフォルトの名無しさん:2019/05/24(金) 19:02:15.89 ID:U6fsa1pB.net
いや、関係あるか
頂点のめちゃくちゃ多い凸多角形になったら計算量明らかに増えるもんな

124 :デフォルトの名無しさん:2019/05/25(土) 18:51:08.08 ID:CqCnLPQm.net
>>11 なんかかなりの難問に思えてきたな。 解法への足がかりが見えない。 凸包までは比較的簡単にたどり着いたけどそれからが闇の中。
凸包の重心が何か使えるだろうか?

最小包含円 という言葉もあるようだが、少なくとも 正方形の辺はこの円の直径以下。

125 :デフォルトの名無しさん:2019/05/25(土) 19:01:54.73 ID:CqCnLPQm.net
>>124 取り敢えずこの問題を 『凸包正方形 』
とでも呼びますか。

126 :デフォルトの名無しさん:2019/05/25(土) 20:41:54.94 ID:jq9htnT/.net
三角形に分解してみる?

127 :デフォルトの名無しさん:2019/05/25(土) 21:12:11.52 ID:9LrJCzXS.net
>>112
連続体濃度でかつ二番目に小さな値のある集合
{0, 1} ∪ (2, ∞)

128 :デフォルトの名無しさん:2019/05/25(土) 22:13:07.00 ID:u9k+LAdR.net
>>11
ポイントが(136,577), (110,927)の2つだけならどうなる?

129 :デフォルトの名無しさん:2019/05/25(土) 22:15:27.93 ID:9LrJCzXS.net
>>128
それ対角線の正方形しかないやろ

130 :デフォルトの名無しさん:2019/05/26(日) 01:40:13.82 ID:y3Cc4Dz0.net
以下はオレなりに考えた仮説
1)2点で正方形の内側に接するのは何らかの平べったい形、対角にて頂点が接するので45°
2)3点で接するのは、細長い三角形あるいはそれに準じた形、角度の計算は…?不明
 または凸包の一辺が正方形の辺に接する形
3)4点で接するのは、細長い三角形あるいはそれに準じた形、角度の計算は…?不明
 または凸包の一辺が正方形の辺に接する形
4)5点以上で接する場合は、凸包の一辺が正方形の辺に接する

「対角にて頂点が接する形の角度は45°」
「凸包の一辺が正方形の辺に接する形は凸包の辺の角度」
これらは角度が分かるので回転変化・逆変換を使って
外側の最小の斜め正方形の候補を探索することは可能だが、
角度が良く分からない形の解法が、まだ見出せていない

131 :デフォルトの名無しさん:2019/05/26(日) 01:44:08.13 ID:y3Cc4Dz0.net
凸包の一辺が正方形の辺に接するおよび二点が対角に接する場合に限った解法
なら難しくないんだがな…

132 :デフォルトの名無しさん:2019/05/26(日) 01:59:58.39 ID:tjjSxTb8.net
>>129
それは正方形が(0,0)-(999,999)からはみでてまうな

133 :130:2019/05/26(日) 17:27:59.46 ID:XOxN6P/y.net
>>11 外側の正方形 Perl5、但し>>130>>131の「凸包の一辺が正方形の辺に接する」または「細い菱形のような形が
正方形の対角2点で接する」場合について求てみた。凸包を求める処理は略し、二点間の辺を総当りで計算している。
use List::Util qw{min max pairkeys pairvalues};
@s=qw{136 577 110 927 472 199 157 808 388 598 94 31 388 157 325 409 787 897 850 598};
@X = pairkeys @s; @Y = pairvalues @s;
sub sp {$_[0]*$_[2] + $_[1]*$_[3]}
sub rt {
 @e = (cos $th, -sin $th); @f = (sin $th, cos $th);
 my @x = map{sp @e, $X[$_], $Y[$_]} 0..$#X;
 my @y = map{sp @f, $X[$_], $Y[$_]} 0..$#Y;
 @x = (min(@x), max(@x)); @y = (min(@y), max(@y));
 $h = (max $x[1] - $x[0], $y[1] - $y[0]) / 2;
 $cx = ($x[1] + $x[0]) / 2; $cy = ($y[1] + $y[0]) / 2;
 @x = ($cx - $h, $cx + $h); @y = ($cy - $h, $cy + $h);
 ($e[1], $f[0]) = (-$e[1], -$f[0]);
 @x = map{sp @e, $x[$_], $y[$_]} 0..1;
 @y = map{sp @f, $x[$_], $y[$_]} 0..1;
 @x = (min(@x), max(@x)); @y = (min(@y), max(@y));
 (\@x, \@y, 2*$h) }
for $i (0..@X-2) { for $j ($i+1..$#X) {
 ($dx, $dy) = ($X[$j] - $X[$i], $Y[$j] - $Y[$i]);
 ($dx, $dy) = (-$dx, -$dy) if $dx < 0;
 $l = sqrt($dx*$dx + $dy*$dy);
 $th = $dx > abs($dy) ? -atan2($dy, $dx) : atan2($dx, $dy);
 ($X, $Y, $w) = &rt;
 push @t, +{i,$i,j,$j,dx,$dx,dy,$dy,l,$l,th,$th,X,$X,Y,$Y,w,$w};
 $th += 3.14159265358979/4; ($X, $Y, $w) = &rt;
 push @t, +{i,$i,j,$j,dx,$dx,dy,$dy,l,$l,th,$th,X,$X,Y,$Y,w,$w};
} }
@t = sort{$a->{w}<=>$b->{w}} grep{0<=$_->{X}[0]and$_->{X}[1]<=999 and 0<=$_->{Y}[0]and$_->{Y}[1]<=999} @t;
do {@x = @{$t[$_]->{X}}; @y = @{$t[$_]->{Y}};
 printf"%d: (%7.3f, %7.3f)-(%7.3f, %7.3f): w=%3.3f\n",$_+1,$x[0],$y[0],$x[1],$y[1],$t[$_]->{w}} for 0..5;

134 :デフォルトの名無しさん:2019/05/26(日) 17:29:47.07 ID:XOxN6P/y.net
>>133 の実行例

~ $ perl 14_11.pl
1: ( 48.607, 27.043)-(863.062, 983.177): w=891.576
2: ( 45.920, 20.484)-(869.713, 849.356): w=892.353
3: ( 32.627, 29.170)-(901.066, 949.457): w=895.142
4: ( 24.000, 31.000)-(920.000, 927.000): w=896.000
5: ( 24.000, 31.000)-(920.000, 927.000): w=896.000
6: ( 14.845, 32.823)-(931.567, 907.397): w=896.130


検算してないので、もしバグっていたらゴメンチャイ、(ゝω・) テヘペロ

135 :デフォルトの名無しさん:2019/05/26(日) 17:38:51.62 ID:XOxN6P/y.net
>>133 スマソ、「正方形の4点の座標を示せ」と書かれていたので、出力処理を少し修正
use List::Util qw{min max pairkeys pairvalues};
@s=qw{136 577 110 927 472 199 157 808 388 598 94 31 388 157 325 409 787 897 850 598};
@X = pairkeys @s; @Y = pairvalues @s;
sub sp {$_[0]*$_[2] + $_[1]*$_[3]}
sub rt {
 @e = (cos $th, -sin $th); @f = (sin $th, cos $th);
 my @x = map{sp @e, $X[$_], $Y[$_]} 0..$#X;
 my @y = map{sp @f, $X[$_], $Y[$_]} 0..$#Y;
 @x = (min(@x), max(@x)); @y = (min(@y), max(@y));
 $h = (max $x[1] - $x[0], $y[1] - $y[0]) / 2;
 $cx = ($x[1] + $x[0]) / 2; $cy = ($y[1] + $y[0]) / 2;
 @x = ($cx - $h, $cx + $h); @y = ($cy - $h, $cy + $h);
 ($e[1], $f[0]) = (-$e[1], -$f[0]);
 @x = map{sp @e, $x[$_], $y[$_]} 0..1;
 @y = map{sp @f, $x[$_], $y[$_]} 0..1;
 @x = (min(@x), max(@x)); @y = (min(@y), max(@y));
 (\@x, \@y, 2*$h) }
for $i (0..@X-2) { for $j ($i+1..$#X) {
 ($dx, $dy) = ($X[$j] - $X[$i], $Y[$j] - $Y[$i]);
 ($dx, $dy) = (-$dx, -$dy) if $dx < 0;
 $l = sqrt($dx*$dx + $dy*$dy);
 $th = $dx > abs($dy) ? -atan2($dy, $dx) : atan2($dx, $dy);
 ($X, $Y, $w) = &rt;
 push @t, +{i,$i,j,$j,dx,$dx,dy,$dy,l,$l,th,$th,X,$X,Y,$Y,w,$w};
 $th += 3.14159265358979/4; ($X, $Y, $w) = &rt;
 push @t, +{i,$i,j,$j,dx,$dx,dy,$dy,l,$l,th,$th,X,$X,Y,$Y,w,$w};
} }
@t = sort{$a->{w}<=>$b->{w}} grep{0<=$_->{X}[0]and$_->{X}[1]<=999 and 0<=$_->{Y}[0]and$_->{Y}[1]<=999} @t;
do {@x = @{$t[$_]->{X}}; @y = @{$t[$_]->{Y}};
 printf"%d: (%6.3f, %6.3f), (%7.3f, %6.3f), (%6.3f, %7.3f), (%7.3f, %7.3f): w=%3.3f\n",
  $_+1,$x[0],$y[0],$x[1],$y[0],$x[0],$y[1],$x[1],$y[1],$t[$_]->{w}} for 0..5;

136 :デフォルトの名無しさん:2019/05/26(日) 17:40:00.54 ID:XOxN6P/y.net
>>135 実行結果

~ $ perl 14_11.pl
1: (48.607, 27.043), (863.062, 27.043), (48.607, 983.177), (863.062, 983.177): w=891.576
2: (45.920, 20.484), (869.713, 20.484), (45.920, 849.356), (869.713, 849.356): w=892.353
3: (32.627, 29.170), (901.066, 29.170), (32.627, 949.457), (901.066, 949.457): w=895.142
4: (24.000, 31.000), (920.000, 31.000), (24.000, 927.000), (920.000, 927.000): w=896.000
5: (24.000, 31.000), (920.000, 31.000), (24.000, 927.000), (920.000, 927.000): w=896.000
6: (14.845, 32.823), (931.567, 32.823), (14.845, 907.397), (931.567, 907.397): w=896.130

検算してないので、もしバグっていたらゴメンチャイ、(ゝω・) テヘペロ

137 :デフォルトの名無しさん:2019/05/26(日) 17:44:33.42 ID:XOxN6P/y.net
>>136
なんか変、バグってるスマソ、直すことが出来たら書き込みます

138 :デフォルトの名無しさん:2019/05/26(日) 18:33:59.00 ID:XOxN6P/y.net
>>11 外側の正方形 Perl5 凸包の辺が正方形の辺に接するまたは対角二点で接する場合、>>135の露骨なバグ一個修正
use List::Util qw{min max pairkeys pairvalues};
@s=qw{136 577 110 927 472 199 157 808 388 598 94 31 388 157 325 409 787 897 850 598};
@X = pairkeys @s; @Y = pairvalues @s;
sub sp {$_[0]*$_[2] + $_[1]*$_[3]}
sub rt {
 @e = (cos $th, -sin $th); @f = (sin $th, cos $th);
 my @x = map{sp @e, $X[$_], $Y[$_]} 0..$#X;
 my @y = map{sp @f, $X[$_], $Y[$_]} 0..$#Y;
 @x = (min(@x), max(@x)); @y = (min(@y), max(@y));
 $h = (max $x[1] - $x[0], $y[1] - $y[0]) / 2;
 $cx = ($x[1] + $x[0]) / 2; $cy = ($y[1] + $y[0]) / 2;
 @x = ($cx - $h, $cx + $h, $cx - $h, $cx + $h);
 @y = ($cy - $h, $cy - $h, $cy + $h, $cy + $h);
 ($e[1], $f[0]) = (-$e[1], -$f[0]);
 @x = map{sp @e, $x[$_], $y[$_]} 0..3;
 @y = map{sp @f, $x[$_], $y[$_]} 0..3;
 (\@x, \@y, 2*$h) }
for $i (0..@X-2) { for $j ($i+1..$#X) {
 ($dx, $dy) = ($X[$j] - $X[$i], $Y[$j] - $Y[$i]);
 ($dx, $dy) = (-$dx, -$dy) if $dx < 0;
 $l = sqrt($dx*$dx + $dy*$dy);
 $th = $dx > abs($dy) ? -atan2($dy, $dx) : atan2($dx, $dy);
 ($X, $Y, $w) = &rt;
 push @t, +{i,$i,j,$j,dx,$dx,dy,$dy,l,$l,th,$th,X,$X,Y,$Y,w,$w};
 $th += 3.14159265358979/4; ($X, $Y, $w) = &rt;
 push @t, +{i,$i,j,$j,dx,$dx,dy,$dy,l,$l,th,$th,X,$X,Y,$Y,w,$w};
} }
@t = sort{$$a{w}<=>$$b{w}} grep{0<=min@{$_->{X}}and max@{$_->{X}}<=999 and 0<=min@{$_->{Y}}and max@{$_->{Y}}<=999} @t;
do {@x = @{$t[$_]{X}}; @y = @{$t[$_]{Y}};
  printf"%d: (%7.3f,%7.3f), (%7.3f,%7.3f), (%7.3f,%7.3f), (%7.3f,%7.3f): w=%7.3f, th=%7.3f°\n",
   $_+1,$x[0],$y[0],$x[1],$y[1],$x[2],$y[2],$x[3],$y[3],$t[$_]{w},$t[$_]{th}*180/3.14159265358979} for 0..4;

139 :デフォルトの名無しさん:2019/05/26(日) 18:37:35.18 ID:XOxN6P/y.net
>>138 実行例

~ $ perl 14_11.pl
1: ( 32.627, 29.170), (927.382, 55.475), ( 6.310,923.152), (901.066,949.457): w=895.142, th= -1.685°
2: (920.000,927.000), ( 24.000,927.000), (920.000, 31.000), ( 24.000, 31.000): w=896.000, th=180.000°
3: ( 24.000, 31.000), (920.000, 31.000), ( 24.000,927.000), (920.000,927.000): w=896.000, th= 0.000°
4: ( 14.845, 32.823), (910.733, 11.994), ( 35.680,928.226), (931.567,907.397): w=896.130, th= 1.332°
5: ( 18.819, 32.332), (914.819, 16.335), ( 34.819,928.046), (930.819,912.049): w=896.143, th= 1.023°

ちゃんと検算してないので、もしまだバグがいたらゴメンチャイ、(ゝω・) テヘペロ

検算方法考えた方がいいのかも。ちなみにwは正方形の幅、thは回転各[deg]

>>11 の内側の正方形についてはまだ考えていない。

140 :デフォルトの名無しさん:2019/05/26(日) 20:05:21.06 ID:MaF2nVvH.net
>>11 おもろいな、初級問題だと文法の練習としてそれなりに勉強になる。
こう言うのはそれを超えていろんなパッケージ/ライブラリを駆使することになるから一皮剥けて勉強になる。

解けるか解けないか判らないけど楽しんでる。

勿論こう言うのは、言語の問題ではなく、ロジックの問題だと解っているんだが、ヒントとなる数字を出せるのは言語の力にもよるからそれはそれなりに面白い。

図形は直感的に推論が正しいかどうか判るから面白い。
https://i.imgur.com/cCazfFe.jpg
凸包の重心は使えなさそうだな。

>>139 なんとなく変に感じるんだが。
https://i.imgur.com/3ioZWjZ.jpg

この場合の正方形の一辺は、左側の凸包の線そのものになると思うんだけど。
つまり、左下端が、( 94,31 )、上端が(110,927) にならないかな?

141 :デフォルトの名無しさん:2019/05/26(日) 20:06:23.89 ID:MaF2nVvH.net
>>140 ごめん、同じ画像を二つ上げてしまった。

142 : :2019/05/26(日) 20:24:38.79 ID:CpBTYp0n.net
>>11
まずは「斜めは考えない」 https://ideone.com/0ho1Fr
>>48
解が一致しました

143 : :2019/05/26(日) 20:28:38.16 ID:CpBTYp0n.net
お題と回答
>>5 : 6 10 32 36 44
>>9 : 15 34 35 79
>>11 : 48 (78) 138-139
>>19 :
>>50, https://mevius.5ch.net/test/read.cgi/tech/1549160513/920 : 4 85 89
https://mevius.5ch.net/test/read.cgi/tech/1549160513/988 : 59 61
>>90 : 95 96
>>99 :

144 :138:2019/05/26(日) 21:07:57.74 ID:GCxYDy5d.net
>>140 図をありがとう

scriptを(94, 31) - (110, 927)の辺に傾けてこの角度における最小の正方形だけを計算するようなおして
計算したら
5: ( 18.819, 32.332), (914.819, 16.335), ( 34.819,928.046), (930.819,912.049): w=896.143, th= 1.023°
になりました。

145 :デフォルトの名無しさん:2019/05/27(月) 00:47:32.69 ID:WucVzOyp.net
>>144 それはおかしい。 直行正方形の辺の長さが896だから、896以下にならなければならない。

146 :デフォルトの名無しさん:2019/05/27(月) 03:33:47.20 ID:ZlNUfz2v.net
>>11 1)のみ やってみた。

https://codepen.io/dokokade/full/WBzgrZ

※ 途中で完全にJavaScriptのお遊びになってしまった。
  (計算は別プログラムで、そのログを図にした)

一辺 = 890.70993168302
四点
x: [ 0.8027676391, 82.9114960624, 969.828819782, 887.7200913596]
y: [916.8907759982, 29.9734522778, 112.082180701, 998.9995044215]

147 :デフォルトの名無しさん:2019/05/27(月) 12:03:51.40 ID:g1o9JmK9.net
>>146 多分正解だね。 おめでとう。

148 :デフォルトの名無しさん:2019/05/27(月) 12:17:08.10 ID:g1o9JmK9.net
>>146 あ、でも 右上の頂点は y = 998.9995044215 となってるけど、
正確には y=999 とぶつからなければいけないよね。 少し誤差が大きすぎるような気がするけどこんなもの?

149 :デフォルトの名無しさん:2019/05/27(月) 23:46:29.70 ID:FhcziIHI.net
>>140
この図の(388,157)は(388,598)の誤記?

150 :デフォルトの名無しさん:2019/05/27(月) 23:59:39.40 ID:WucVzOyp.net
>>149 間違っていないでしょ。
両方あるよ。
xys [[136 577]
[110 927]
[472 199]
[157 808]
[388 598] ***
[ 94 31]
[388 157] ***
[325 409]
[787 897]
[850 598]]

https://i.imgur.com/9emHzzD.jpg

151 :デフォルトの名無しさん:2019/05/28(火) 00:07:34.28 ID:A9u6a3RO.net
>>145 凸包の一辺(94,31)-(110,927)のみに着目し、この辺が垂直となる様に座標を1.023°回転して
から点郡を囲む矩形領域を求め、その長方形を正方形になるように短い辺を伸ばす処理は省いて
長方形のまま元の座標系に逆変換し4頂点座標を見たところ、
use List::Util qw{min max};
use Math::Trig;
@X = qw{94 110}; # 787 850 472 388};
@Y = qw{31 927}; # 897 598 199 598};
sub sp {$_[0]*$_[2] + $_[1]*$_[3]}
for $i (0..@X-2) { for $j ($i+1..$#X) {
 ($dx, $dy) = ($X[$j] - $X[$i], $Y[$j] - $Y[$i]);
 ($dx, $dy) = (-$dx, -$dy) if $dx < 0;
 $th = $dx > abs($dy) ? -atan2($dy, $dx) : atan2($dx, $dy);
 @e = (cos $th, -sin $th); @f = (sin $th, cos $th);
 my @x = map{sp @e, $X[$_], $Y[$_]} 0..$#X;
 my @y = map{sp @f, $X[$_], $Y[$_]} 0..$#Y;
 @x = (min(@x), max @x); @y = (min(@y), max @y);
 $w = max($x[1] - $x[0], $y[1] - $y[0]);
 ($e[1], $f[0]) = (-$e[1], -$f[0]);
 @x = map{sp @e, $x[$_], $y[$_]} 0,1,0,1;
 @y = map{sp @f, $x[$_], $y[$_]} 0,0,1,1;
 #next if min@x<0 or 999<max@x or min@y<0 or 999<max@y;
 push @t, +{i,$i,j,$j,dx,$dx,dy,$dy,th,$th,X,[@x],Y,[@y],w,$w} } }
@t = sort{$$a{w}<=>$$b{w}} @t;
do {@x = @{$_->{X}}; @y = @{$_->{Y}};
 printf"%d: (%7.3f,%7.3f), (%7.3f,%7.3f), (%7.3f,%7.3f), (%7.3f,%7.3f): w=%7.3f, th=%7.3f°\n",
  ++$k,$x[0],$y[0],$x[1],$y[1],$x[2],$y[2],$x[3],$y[3],$$_{w},rad2deg $$_{th}} for @t;
~ $ perl 14_11_2.pl
1: ( 94.000, 30.990), (110.000, 30.990), ( 94.000,926.704), (110.000,926.704): w=896.143, th= 1.023°
となったので、今のところ計算は合っていると思う。おかしく感じたのは長方形を正方形になるように短い辺を伸ばした座標の
シフトによるものだと思う。しかし、この長方形⇒正方形補正が曲者で、より小さい正方形であるにもかかわらず長方形の
短辺を両側に均等に伸ばすと頂点が0〜999の範囲をこえてしまうものがあるらしく、不均等に伸ばすようにすれば
より小さい正方形を見出せるかもしれない。

152 :デフォルトの名無しさん:2019/05/28(火) 00:08:24.04 ID:A9u6a3RO.net
>>150
そうだね、ゴメン

153 :デフォルトの名無しさん:2019/05/28(火) 00:16:35.63 ID:eILR4MCH.net
>>150 外接円を描いてみたけど、利用方法を見つけられなかった。
むしろ [ 94 31] [787 897] の対角を直径とする最小包含円 からかな?

154 :デフォルトの名無しさん:2019/05/28(火) 00:27:46.22 ID:A9u6a3RO.net
以下は試作実験programと結果
@凸包の辺の角度にのみ傾ける(それ以外の角度は略) A長方形⇒正方形補正は略 B頂点座標が0〜999の範囲外も出力
use List::Util qw{min max}; use Math::Trig;
@X = qw{94 110 787 850 472 388}; @Y = qw{31 927 897 598 199 157};
sub sp {$_[0]*$_[2] + $_[1]*$_[3]}
for $i (0..@X-2) { for $j ($i+1..$#X) {
 ($dx, $dy) = ($X[$j] - $X[$i], $Y[$j] - $Y[$i]);
 ($dx, $dy) = (-$dx, -$dy) if $dx < 0;
 $th = $dx > abs($dy) ? -atan2($dy, $dx) : atan2($dx, $dy);
 @e = (cos $th, -sin $th); @f = (sin $th, cos $th);
 my @x = map{sp @e, $X[$_], $Y[$_]} 0..$#X;
 my @y = map{sp @f, $X[$_], $Y[$_]} 0..$#Y;
 @x = (min(@x), max @x); @y = (min(@y), max @y);
 $w = max($x[1] - $x[0], $y[1] - $y[0]);
 ($e[1], $f[0]) = (-$e[1], -$f[0]);
 @x = map{sp @e, $x[$_], $y[$_]} 0,1,0,1;
 @y = map{sp @f, $x[$_], $y[$_]} 0,0,1,1;
 #next if min@x<0 or 999<max@x or min@y<0 or 999<max@y;
 push @t, +{i,$i,j,$j,dx,$dx,dy,$dy,th,$th,X,[@x],Y,[@y],w,$w} } }
@t = sort{$$a{w}<=>$$b{w}} @t;
do {@x = @{$_->{X}}; @y = @{$_->{Y}};
 printf"%d: (%7.3f,%7.3f), (%7.3f,%7.3f), (%7.3f,%7.3f), (%7.3f,%7.3f): w=%7.3f, th=%7.3f°\n",
  ++$k,$x[0],$y[0],$x[1],$y[1],$x[2],$y[2],$x[3],$y[3],$$_{w},rad2deg $$_{th}} for @t[0..4];

1: (752.170,710.324), ( 94.000,710.324), (752.170, -8.662), ( 94.000, -8.662): w=873.451, th=168.102°
2: ( 70.342, 31.983), (863.100, 31.983), ( 70.342,891.839), (863.100,891.839): w=895.830, th= 2.537°
3: ( 94.000, 30.990), (855.637, 30.990), ( 94.000,913.391), (855.637,913.391): w=896.143, th= 1.023°
4: (699.348,547.478), ( 94.000,547.478), (699.348,-34.520), ( 94.000,-34.520): w=945.899, th=160.148°
5: ( 94.000, 29.184), (671.086, 29.184), ( 94.000,1007.681), (671.086,1007.681): w=978.102, th=-23.199°
真の極小解は中途半端な角度にあるのか…

155 :146:2019/05/28(火) 00:38:23.09 ID:dFqOFikP.net
>>148

146は、ヒュースリックス解だから、まだ小さくなると思う。
でも、あと1くらいだと思う
( これが厳密解を求めるやる気が、無くなる原因)

少しずるして、この問題に過剰最適化させて、
890.7003209442369にした。
https://codepen.io/dokokade/full/WBzgrZ

156 :デフォルトの名無しさん:2019/05/28(火) 00:44:50.83 ID:A9u6a3RO.net
>>154
これ、凸包の辺の角度にのみ傾けてない、凸包の全頂点の組み合わせエッジの角度に傾けている。
まいいや、大差ない

157 :デフォルトの名無しさん:2019/05/28(火) 01:02:45.97 ID:eILR4MCH.net
>>125 >>11 の問題1 に名前を与えるならさしずめ、最小包含正方形 かな。

158 :デフォルトの名無しさん:2019/05/28(火) 01:18:31.05 ID:eILR4MCH.net
>>155 無理を言ってごめん、答えの誤差をなくすために、最終座標は整数の xy 座標に出来るかな。 中心からの距離を切り上げて整数にする感じになると思うけど。

159 :デフォルトの名無しさん:2019/05/28(火) 01:33:00.26 ID:A9u6a3RO.net
こういう問題って、極小・最小解にいたる連続的な解空間形成してなけりゃ収束計算もできないし
かといって解析的あるいはロジカルな求解法が見出せなけりゃ、最後はヒューリスティックあるいはランダムwalk
あるいはRISMみたいな外挿的に探索するしかないのだろうか…
ないんだろうなたぶん。そんなきがす

160 :デフォルトの名無しさん:2019/05/28(火) 01:41:09.17 ID:eILR4MCH.net
>>159 現実の世界でも、求める解は整数にすることが多いと思う。
画面のドット精度、工作機械の精度など整数と考えた方が良い。
現実的には整数解が求められないと、角を切り落としたりしかねない。
(許容誤差を加えた範囲を求めるのでも良いけど)

整数解にした方が、試行錯誤の時間も少なくなると思うからより現実的だと思う。 答えが一律に決まるし。

161 :50:2019/05/28(火) 13:42:19.32 ID:tpS8MDSU.net
https://mevius.5ch.net/test/read.cgi/tech/1549160513/920

前スレの920の、ランク付けの問題で、

入力データ
-6 3 9 5 3 -7
出力・ランク
2 3 5 4 3 1

2 3 6 5 3 1

下のように、同値の場合は、同じランクにして、次のランクの間隔を空ける場合、
ランク3 が2つあるから、4が無くなって、次は、5に飛ぶ場合は、難しい!

162 :デフォルトの名無しさん:2019/05/28(火) 16:43:58.97 ID:C7xxE9sL.net
>>161
uniqしないだけ

163 :デフォルトの名無しさん:2019/05/28(火) 17:48:16.52 ID:IzhB96hl.net
>>153 このケースの場合の最小包含円は外接円と一致するんだな。

164 :デフォルトの名無しさん:2019/05/29(水) 15:51:03.59 ID:PE9V8n6M.net
素因数分解する関数を作れ。
ただし2より小さい数は空のリスト(又は配列)を返す事とする。

例: factorization 150
>[2,3,5,5]

165 :デフォルトの名無しさん:2019/05/29(水) 16:00:45.49 ID:bq8lopql.net
はい、次のお題どうぞ

166 : :2019/05/29(水) 18:28:49.13 ID:8RGCI467.net
>>164
== https://mevius.5ch.net/test/read.cgi/tech/1549160513/988 == >>56 >>59 >>61

167 :デフォルトの名無しさん:2019/05/29(水) 21:59:41.60 ID:tGd6tVjg.net
>>164 Perl5、>>59 で書いたroutineを流用しています。

sub prime {
 $h = int $n/2;
 for ($i=2; $i<=$h; $i++) {
  $s[$i] = 1 unless exists $s[$i];
  do {$s[$i*$_] = 0 for 2..int $h/$i} if $s[$i];
 }
 @p = grep{$s[$_]} 2..$h;
}
sub factorization {
 my $i = shift;
 my $h = int $i/2;
 for $j (grep{$_ <= $h} @p) {
  return ($j, factorization($i/$j)) if 0 == $i % $j;
 }
 1 < $i ? $i : ();
}
$"=',';
for $n ((0, 1, 2, 150)) {
 prime;
 @f = factorization $n;
 print"$n => [@f]\n";
}

実行結果
~ $ perl 14_164.pl
0 => []
1 => []
2 => [2]
150 => [2,3,5,5]

168 :デフォルトの名無しさん:2019/05/30(木) 18:43:19.57 ID:vFLUPPTs.net
>>166
すでに既出だったとは。。。orz

169 :デフォルトの名無しさん:2019/05/30(木) 18:45:09.99 ID:vFLUPPTs.net
>>164
一応Haskell載せときます。

main = (print.factorization) 150

factorization n | n < 2 = []
factorization n = f n primes
where
f n (x:_) |n == x = [x]
f n (x:xs)|n `mod` x == 0 = x:f (n `div` x) (x:xs)
f n (_:xs) = f n xs

primes = sieve [2..]
where sieve (p:xs) = p:sieve [x | x <- xs, x `mod` p /= 0]

170 :デフォルトの名無しさん:2019/05/30(木) 18:49:02.33 ID:WCG+7mjF.net
既に既出
馬から落馬
歌を歌う
舞を舞う
ダンスをダンスる

171 :デフォルトの名無しさん:2019/05/30(木) 18:50:08.40 ID:WCG+7mjF.net
ヤフーでググる

172 :デフォルトの名無しさん:2019/05/30(木) 20:22:38.83 ID:JBeAmq0Y.net
お題: sin, cos を用いてお題を作成せよ

173 :デフォルトの名無しさん:2019/05/30(木) 20:26:45.68 ID:zjW7i8/A.net
eをネイピア数とした時
e^(iθ) ≠ cosθ + i sinθ
となる事を証明せよ

174 :デフォルトの名無しさん:2019/05/30(木) 20:35:25.37 ID:7cnHmzOq.net
ん~、じゃあ
sin, cos を実装せよ

175 :デフォルトの名無しさん:2019/05/30(木) 22:02:46.02 ID:8+NCnZcE.net
>>173
オイラーの公式なめてんの?

176 :デフォルトの名無しさん:2019/05/30(木) 22:10:08.81 ID:mWdPfVjS.net
>>175
exp(iθ)=cosθ+isinθだけど(2.71828...)^(iθ)は多値関数だよ

177 :デフォルトの名無しさん:2019/05/30(木) 22:23:36.25 ID:mWdPfVjS.net
>>176
多値じゃなくて多価

178 :デフォルトの名無しさん:2019/05/30(木) 23:36:43.35 ID:0JxSfYBl.net
^はxorだからな。そりゃ違うさ。

179 :蟻人間 :2019/05/30(木) 23:40:43.53 ID:rhzd9E8p.net
お題:テーブル方式でcos/sin関数をテキトーに自作セヨ。

180 :デフォルトの名無しさん:2019/05/30(木) 23:54:33.59 ID:J5ONVYE0.net
>>179
cos := (1 0)(round abs fdivmod 2 * $a Math.PI) * (sgn $a);
sin := (0 1)(round abs fdivmod 2 * $a Math.PI) * (sgn $a);

181 :デフォルトの名無しさん:2019/05/31(金) 00:55:18.43 ID:t9s7pmzY.net
ああこりゃ多価関数の意味を知らないバカだな

182 :デフォルトの名無しさん:2019/05/31(金) 01:02:49.06 ID:6bzo9swJ.net
複素数の指数関数や対数関数は多価関数だろ
馬鹿はお前だ

183 :デフォルトの名無しさん:2019/05/31(金) 01:38:23.70 ID:4Atryqh8.net
指数関数は多価じゃないよ、何言ってんの

184 :デフォルトの名無しさん:2019/05/31(金) 05:30:51.21 ID:Rd2VdfQd.net
>>183
寝言はねえから言えよクズ
z^w := exp(w * log(z))
log(z) が多価関数なんだから一般にz^wも多価関数だっつーの
死ねよ雑魚が

https://en.wikipedia.org/wiki/Exponential_function
> We can then define a more general exponentiation:
>
> {\displaystyle z^{w}=e^{w\log z}} z^{w}=e^{w\log z}
> for all complex numbers z and w. This is also a MULTIVALUED function, even when z is real.

185 :デフォルトの名無しさん:2019/05/31(金) 05:49:38.41 ID:C3HpXD20.net
>>184
出典がwikiとかありえねーよwww
wikiにそう書いてあるからってそれが正しいとは限んねえだろバーカ

186 :デフォルトの名無しさん:2019/05/31(金) 06:17:16.52 ID:4Atryqh8.net
>>184
第一の意味での指数関数、つまり f′(z) = f(z), f(0)=1 を満たす f(z) = exp(z) は当然多価関数じゃない。

第二の意味での「指数関数」、つまり複素数の複素数乗 f(z, w) = z^w は、引用してくれたとおり exp の「逆関数」 log を使って f(z, w) = exp(w log z) と定義するけど、
log は主値を取るものとして(つまり定義域を制限した exp の真の意味での逆関数として)定義すれば log w も f(z, w) もちゃんとした関数になる。そうでなければどちらも多価関数になる。

多価関数って要は関数じゃない(写像ではない)から、少なくとも一般的な計算には使わないよね。多価の asin x や多価の √x なんて使わないでしょ?

187 :デフォルトの名無しさん:2019/05/31(金) 06:53:54.48 ID:BfGYI+kd.net
>>186
主値を取る場合はLogなりp.v. fなりきちんと明示するのが少なくとも解析屋の間ではルールだよ
他の分野の人は知らないけど

188 :デフォルトの名無しさん:2019/05/31(金) 07:16:05.79 ID:LXc8d8Er.net
>>170
> 歌を歌う
歌うには「歌を」と言う意味は含まれてないから歌を歌うと言うのは別におかしくないよ
> 舞を舞う
も同様

189 :デフォルトの名無しさん:2019/05/31(金) 07:32:11.07 ID:E12bWjgi.net
>>164 Python sympy

from sympy import *
print(factorint(150))
#{2: 1, 3: 1, 5: 2} 2*3*5**2 を示す

190 :デフォルトの名無しさん:2019/05/31(金) 12:16:09.80 ID:ihIFj/V/.net
>>188
和語として語源同一なんだけど。
意外なものでは「くさい」と「くそ」「明かり」と「開ける」も同一語源。

191 :デフォルトの名無しさん:2019/05/31(金) 14:15:19.33 ID:rnSTXr8b.net
数学の問題なんて、センター入試問題でも解いてこいよ。 手を抜きすぎだぞ。 もっと面白くひねれよ。

192 :デフォルトの名無しさん:2019/05/31(金) 20:50:13.55 ID:/Dlwa3kC.net
>>164
Haskellを元にPython。
素数じゃ無いと判定した時点でループ抜けるとかしたら、そこそこ速くなった。
https://ideone.com/3L1N23

193 :デフォルトの名無しさん:2019/05/31(金) 23:54:43.29 ID:fDsN7sSa.net
センターなんて数学じゃなくて算数でしょ

194 :デフォルトの名無しさん:2019/06/01(土) 05:45:08.23 ID:uuPo6pHP.net
面白いお題がないかと文句を言う前に
進んで面白いお題を書きましょう

195 :デフォルトの名無しさん:2019/06/02(日) 10:12:21.99 ID:kAC27lYz.net
>>192 python sympy

from sympy import *
import time
time_sta = time.perf_counter()
ans=factorint(13999)
time_end = time.perf_counter()
print(ans,'{:.7f}ms'.format((time_end-time_sta)*1000))

#{13999: 1} 0.0283330ms

同じpython でも餅は餅屋なんだろうな。
因みに、13999**2 を求めると
#{13999: 2} 0.4635000ms

iPhone Xs Max Pythonista3.2 Python3.6.5 sympy 0.4.7.1

196 :デフォルトの名無しさん:2019/06/02(日) 15:03:12.02 ID:c9LZ9fJN.net
>>192>>164向けの回答としては問題ない。

しかし、一般的な素因数分解としては問題が。
大きな素数が対象のとき、実行時間がひどい結果になっている。
たとえば有名な素数1000000007(10億7)をやると....
(前スレ988の制約範囲内くらい、普通にできる形が望ましい)

pythonで手を抜いた一般的な素因数分解でも
10^12くらいは1秒以内に出る。(10^12+39が近場の素数)

197 :195:2019/06/02(日) 18:27:22.13 ID:Hxta4mKu.net
>>196 python sympy
{1000000007: 1} 0.2255000ms

198 :195:2019/06/02(日) 18:41:56.81 ID:Hxta4mKu.net
>>196 同一環境での比較。

n= 13999 ans= {13999: 1} time=0.0135830ms
>>192 を実行
n= 13999 ans= [13999] time=152.4304170ms

199 :デフォルトの名無しさん:2019/06/03(月) 00:41:43.81 ID:u5qwV1AY.net
>>198
192の解が一般解としてはひどいすぎるってことでしょ。
10億7どころか、百万台の素数もキツイ。

200 :デフォルトの名無しさん:2019/06/03(月) 03:39:17.26 ID:4uiCu3lL.net
お題:↓の画像のようにコンソール画面に雨を降らせなさい
https://i.imgur.com/wR1mNu5.gif

201 :デフォルトの名無しさん:2019/06/03(月) 12:16:50.21 ID:V0dR4GNy.net
>>164 pythonわかってない俺がpythonで
https://ideone.com/7j8Gz8

202 :デフォルトの名無しさん:2019/06/03(月) 21:33:09.94 ID:CuEu7mic.net
>>164
Kotlin
https://paiza.io/projects/65lAktSm6rjmcVdxSlaLSQ

ただループ回すだけじゃ芸がないと思って素数を返すイテレータのクラス作ってやってみた。
(素数をバッファリングもすればもっと無駄がなかったなとは思ったがそれはやってない)。

203 :デフォルトの名無しさん:2019/06/04(火) 06:42:47.26 ID:7qxdZD6A.net
>>185
Wikiが正しいとは限らないからと言って、wikiが間違っている前提で反論するバカの見本

204 :195:2019/06/04(火) 07:17:53.03 ID:/ArpXH0n.net
>>201 jupyter で測ってみた。結構早い。

[1000000007]
CPU times: user 2.28 ms, sys: 0 ns, total: 2.28 ms
Wall time: 2.25 ms

[1000000000039]
CPU times: user 99.8 ms, sys: 0 ns, total: 99.8 ms
Wall time: 107 ms

[2, 3, 3, 5, 7, 11, 13, 17, 29]
CPU times: user 76 µs, sys: 0 ns, total: 76 µs
Wall time: 78.7 µs

[2, 3, 3, 5, 7, 11, 13, 17, 29, 1000000007]
CPU times: user 3.53 ms, sys: 0 ns, total: 3.53 ms
Wall time: 3.54 ms

205 :デフォルトの名無しさん:2019/06/04(火) 07:56:52.47 ID://1XsOfQ.net
素数は、平方根までの素数で割って、割り切れなければ素数だろ

[2,3,5,7,11,13...] みたいに、素数表に追加していく途中で、
例えば、103 なら、11 までの素数で割って、割り切れなければ素数

13以降の素数で割る必要はない

もし13で割り切れるなら、13 * n = 103
となり、n は、√103 よりも、小さくなるから、既に割り切れているはず!

206 :デフォルトの名無しさん:2019/06/04(火) 08:11:49.19 ID:e9k+jtYr.net
>>205
例のRubyバカはこのスレにも出没するのか

207 :デフォルトの名無しさん:2019/06/04(火) 09:07:39.39 ID:QWQyVZWL.net
誰もRubyの話なんてしてないやろ

208 :デフォルトの名無しさん:2019/06/04(火) 09:27:19.41 ID:u+S7EiZ9.net
日頃の行いがなぁ…

209 :デフォルトの名無しさん:2019/06/04(火) 10:23:22.04 ID:prB+PlYz.net
>>185
間違いとも限らない。

書かれていることを鵜呑みにするのは間違いだが見もしないで頭ごなしに間違いと決めつけるのも間違い。

210 :202:2019/06/04(火) 10:27:05.50 ID:prB+PlYz.net
>>205
なるほど。暇があったらそれも考慮しよう。

211 :デフォルトの名無しさん:2019/06/04(火) 11:04:03.94 ID:Hzpqs43L.net
【速報】金券五百円分とすかいらーく優侍券をすぐもらえる    
https://pbs.twimg.com/media/D8I_lOtVUAE8t0O.jpg  
  
@ スマホでたいむばんくを入手   
A 会員登録を済ませる   
B マイページへ移動する     
C 招待コード→招待コードを入力する [Rirz Tu](スペース抜き)    
     
今なら更に4日18時までの登録で2倍の600円の紹介金を入手 
クオカードとすかいらーく優待券を両方ゲットできます。  
    
かんたんに入手できますのでご利用下さい    

212 :デフォルトの名無しさん:2019/06/04(火) 13:01:01.36 ID:XXr8i2SB.net
>>211
あとで一万円の請求が来るらしい

213 :デフォルトの名無しさん:2019/06/04(火) 13:24:26.77 ID:RxG/e7Cf.net
>>211
バラまきキャンペーン乙。

214 :デフォルトの名無しさん:2019/06/05(水) 02:49:29.97 ID:TK4G9YGK.net
>>200 Ruby
# エスケープシーケンスが有効な環境
print "\e[1;1;H\e2" # "\ec"
while true
print 79.times.inject(''){|s| s += (rand(20) >= 19)? '|' : ' ' }, "\n\e[1T\eM"
sleep 0.1
end

215 :デフォルトの名無しさん:2019/06/05(水) 19:02:11.80 ID:xAyG9V/M.net
お題:2次元関数を図示したとき網目状になる関数を示せ。

216 :デフォルトの名無しさん:2019/06/05(水) 19:05:56.09 ID:JxAz00LY.net
網目状になったら普通それは関数とは言わないんですが

217 :デフォルトの名無しさん:2019/06/05(水) 20:21:05.87 ID:4AufAgsU.net
>>200
https://light.dotup.org/uploda/light.dotup.org593450.gif

エスケープシーケンスのコードが行方不明だったので書き直した。
C++で書いたけど、ベターCですなぁ。

218 :デフォルトの名無しさん:2019/06/05(水) 20:26:27.13 ID:Fd++qFdy.net
>>215
それは数学のお題では?関数の方を求めるんでしょ?図を画面に出すとかではなく。

219 :214:2019/06/06(木) 05:58:02.66 ID:6h02yf6h.net
>>200 Ruby
# 水はねを追加
require 'io/console'
Crow, Ccol = STDOUT.winsize
print "\e[0;0H"
lines = []
while true
line = ' ' * Ccol
rand(Ccol).div(8).times{ line[rand(Ccol)] = '|' }
lines << line
print "\e[0;0H#{line}\n\e[0;0H"
if lines.size >= Crow
line = lines.shift.tr('|','w')
print "\e[#{Crow};0H#{line}\e[0;0H"
end
sleep 0.1
print "\e[0;0H\eM"
end

220 :デフォルトの名無しさん:2019/06/06(木) 18:09:53.98 ID:Qxsak61t.net
お題

1/x + 1/2y + 1/3z = 4/3
を満たす、整数( x, y, z )の組み合わせを求めろ

ただし、x, y, z の範囲は、1 <= x, y, z <= 4 とする

答え
[ 1, 2, 4 ], [ 1, 3, 2 ], [ 2, 1, 1 ]

221 :デフォルトの名無しさん:2019/06/06(木) 20:34:48.88 ID:2PaE6Est.net
また数学か

222 :デフォルトの名無しさん:2019/06/06(木) 20:50:52.65 ID:ZTQEoQsZ.net
これは数学と言うより、コンピュータの問題じゃないかな。
IEEE754の理解が必要になると思う。

223 :220:2019/06/06(木) 22:57:28.49 ID:Qxsak61t.net
有理数・Rational クラスを使えば?

式を6倍しても良いけど

224 :デフォルトの名無しさん:2019/06/06(木) 23:11:58.29 ID:Zwi2yFYb.net
というか知的障害者でも64回回せば終わる問題だよな

225 :デフォルトの名無しさん:2019/06/06(木) 23:16:57.91 ID:P4iafl1G.net
上位大学の入試見てると問題作りってセンス出るよな

226 :デフォルトの名無しさん:2019/06/07(金) 07:11:55.05 ID:CBwJTjr/.net
>>222
> IEEE754の理解が必要になると思う。
釣りか?

227 :デフォルトの名無しさん:2019/06/07(金) 13:55:32.04 ID:D45ggIzR.net
>>215
sin(x + y)*sin(x - y)=0

228 :デフォルトの名無しさん:2019/06/07(金) 16:27:31.91 ID:RHh4qcVs.net
>>226
誤差収束しないといけないからだと思う。
コンピュータは1/3を計算するとき工夫がいる。

229 :195:2019/06/07(金) 16:32:04.76 ID:QdXw6XxC.net
>>228 馬鹿だろ。 6倍してみろ

230 :デフォルトの名無しさん:2019/06/07(金) 16:36:23.22 ID:CBwJTjr/.net
>>228
> コンピュータは1/3を計算するとき工夫がいる。
だからその工夫が>>223の言う
> 有理数・Rational クラスを使えば?
とか
> 式を6倍しても良いけど
だろ
数学的な問題は実数使っても解けないことが多いぞ

231 :デフォルトの名無しさん:2019/06/07(金) 16:44:59.95 ID:RHh4qcVs.net
あぁ、すまん。
暇なので愚直に解いてくるわ。

232 :デフォルトの名無しさん:2019/06/07(金) 17:00:40.10 ID:RHh4qcVs.net
https://ideone.com/0kIloe
愚直に解いたのでは出ないので、有理数クラスが必要だ。という話になりました。(愚鈍)

233 :デフォルトの名無しさん:2019/06/07(金) 17:32:22.41 ID:IXZHPSuO.net
等式を6xyz倍して、4の3乗通りの整数の組み合わせを代入して単純に比較するだけの話だよね

234 :デフォルトの名無しさん:2019/06/07(金) 18:22:52.80 ID:CBwJTjr/.net
>>233
まあそう言うことだわな
> 1/x + 1/2y + 1/3z = 4/3
6yz + 3xz + 2xy = 8xyz
整数演算だけでいい

235 :デフォルトの名無しさん:2019/06/07(金) 20:25:03.39 ID:itc0IrgZ.net
お題:相異なる25個の英大文字が与えられるので、足りない1個を出力せよ

BCDEFGHIJKLMNOPQRSTUVWXYZ -> A
YIZFOADLMWCRUTGSVQKJEHNBP -> X

236 :デフォルトの名無しさん:2019/06/07(金) 20:27:51.01 ID:LHJ6D3bl.net
>>235 ruby
$><<([?A..?Z]-gets.split(''))

237 :デフォルトの名無しさん:2019/06/07(金) 20:28:29.84 ID:LHJ6D3bl.net
typo
>>235 ruby
$><<([*?A..?Z]-gets.split(''))

238 :デフォルトの名無しさん:2019/06/08(土) 00:59:14.99 ID:zvJkEDj7.net
>>235 Perl5

for $s (BCDEFGHIJKLMNOPQRSTUVWXYZ, YIZFOADLMWCRUTGSVQKJEHNBP) {
 @a = grep{0>index$s,$_} A..Z;
 print "$s -> @a\n";
}

$ perl 14_235.pl
BCDEFGHIJKLMNOPQRSTUVWXYZ -> A
YIZFOADLMWCRUTGSVQKJEHNBP -> X

239 :デフォルトの名無しさん:2019/06/08(土) 01:04:50.07 ID:zvJkEDj7.net
>>238 Pler5 >>238 よりもう少しコンパクトでsimpleに書けた

for $s (BCDEFGHIJKLMNOPQRSTUVWXYZ, YIZFOADLMWCRUTGSVQKJEHNBP) {
 print "$s -> ", grep{0>index$s,$_} A..Z, "\n";
}

240 :デフォルトの名無しさん:2019/06/08(土) 04:54:26.27 ID:t4bm4zRu.net
>>220
kotlinc
6倍して計算

>>> (1..4).forEach { x -> (1..4).forEach { y -> (1..4).forEach { z -> if (6.0/x+3*y+2*z==8.0) println("[$x, $y, $z]") }}}
[2, 1, 1]
>>>

答え一つだけのようだが、>>220の下に書いてある答えはなんだ?

241 :デフォルトの名無しさん:2019/06/08(土) 05:36:07.66 ID:BULhVnPP.net
>>240
スペース無しの1/2yを1/2*yって解釈する人間を初めて見たわ
悪意か?

242 :220:2019/06/08(土) 05:51:26.61 ID:0P3wY/7I.net
>>223
>式を6倍しても良いけど

間違い!
6xyz 倍する

x, 2y, 3z が、分母です!

243 :デフォルトの名無しさん:2019/06/08(土) 06:35:13.06 ID:nbnKD3nO.net
最初から曖昧な式を書いてる出題者が最大の悪意だろ
もう無視しろよこんなサイコパス

244 :デフォルトの名無しさん:2019/06/08(土) 06:40:21.36 ID:c2kswOOS.net
えぇ……どこが曖昧なんだよ
無知だからって開き直るのは格好悪いわ

245 :デフォルトの名無しさん:2019/06/08(土) 06:50:01.64 ID:7Ke9leiS.net
>>241
悪意と言うより6.0/xとか見る限りちょっと抜けてるんだと思う

246 :デフォルトの名無しさん:2019/06/08(土) 07:48:52.33 ID:jHJxbMi0.net
お前らでも他人の悪口言うもんなんだな

247 :デフォルトの名無しさん:2019/06/08(土) 10:21:44.01 ID:831NYUH9.net
>>235 Pharo/Squeak Smalltalk

| alphabet |
alphabet := Character alphabet asUppercase.
alphabet difference: 'BCDEFGHIJKLMNOPQRSTUVWXYZ'. "=> 'A' "
alphabet difference: 'YIZFOADLMWCRUTGSVQKJEHNBP'. "=> 'X' "

248 :デフォルトの名無しさん:2019/06/08(土) 11:01:33.46 ID:CjDCyQh6.net
>>220 Pharo/Squeak Smalltalk

| set exp |
set := Set new.
(1 to: 4) asDigitsToPower: 3 do: [:combi |
combi permutationsDo: [:permu | set add: permu copy]
].
exp := [:x :y :z | 1/x + (1/(2*y)) + (1/(3*z))].
set select: [:permu | (exp valueWithArguments: permu) = (4/3)]

"=> a Set(#(2 1 1) #(1 3 2) #(1 2 4)) "

249 :195:2019/06/08(土) 11:07:07.66 ID:gSg6KwWS.net
>>235 python

import string

A26 = set(string.ascii_uppercase)
print(A26.difference(set('BCDEFGHIJKLMNOPQRSTUVWXYZ')).pop()) #-> A

print(A26.difference(set('YIZFOADLMWCRUTGSVQKJEHNBP')).pop()) #-> X

250 :デフォルトの名無しさん:2019/06/08(土) 20:39:21.75 ID:gCLo3iII.net
>>241
え?なんで?括弧なしで続けて書いたらそういう解釈にしかならんと思うが?
そうでないならその部分どう解釈するのが正解なの?

251 :デフォルトの名無しさん:2019/06/08(土) 20:40:05.48 ID:gCLo3iII.net
>>245
全体を6倍しているからだが?

252 :デフォルトの名無しさん:2019/06/08(土) 20:41:05.12 ID:gCLo3iII.net
>>242
それが分母ならちゃんと括弧書けよ。

253 :デフォルトの名無しさん:2019/06/08(土) 21:10:55.53 ID:7Ke9leiS.net
周りの人に同情するわ…w

254 :デフォルトの名無しさん:2019/06/08(土) 21:53:10.61 ID:bSq0it8T.net
ID:gCLo3iII ガチのガイジやんけ

255 :デフォルトの名無しさん:2019/06/08(土) 22:03:07.94 ID:CpkbOmpy.net
ワラタwww

256 :デフォルトの名無しさん:2019/06/08(土) 23:58:19.51 ID:nh3nMmSu.net
https://ideone.com/IFCJVe
3個でないよ?(愚鈍)

257 :デフォルトの名無しさん:2019/06/08(土) 23:59:56.19 ID:t4bm4zRu.net
>>241
>>232のリンク先もそのようになっているようだが、見ていなかったか。

258 :デフォルトの名無しさん:2019/06/09(日) 00:14:56.14 ID:W8wtcQAp.net
>>235
AからZの文字コードの数値の総和から入力文字列の各文字の文字コードの総和を引けばいいね

259 :デフォルトの名無しさん:2019/06/09(日) 00:16:02.81 ID:SSgQq8CW.net
>>238
https://ideone.com/ztrBf9
わかってやってみた。ソートすんなとは書いてなかった。今は反省している。

260 :デフォルトの名無しさん:2019/06/09(日) 00:17:23.59 ID:SSgQq8CW.net
あ、間違えた。>>259 => >>235
ネタ振ったときにこれだよ。。。

261 :デフォルトの名無しさん:2019/06/09(日) 00:19:22.44 ID:OSjRKT39.net
むしろプログラマの世界で数式を書くなら、
1/(2*y) だろうな。
1/2y と書けば、普通は、(1/2) * y だろ。

262 :デフォルトの名無しさん:2019/06/09(日) 00:24:01.37 ID:SSgQq8CW.net
数学習った時も掛け算記号は省略できるとか習った覚えが。
あと、割り算と掛け算混ぜたときの結果は項の順番によらないかった覚えが。

寝る。

263 :デフォルトの名無しさん:2019/06/09(日) 00:45:59.55 ID:T9jyzIYI.net
>>261
コード書いたわけじゃなくて普通の数式やがな
それをコードに直すのがプログラマ

264 :デフォルトの名無しさん:2019/06/09(日) 01:16:32.66 ID:zgQq0a06.net
>>263
数式でも人が紙に書いたかのような表現が使えず1行に無理に押し込める形式にするのならそれなりの工夫が必要だ

265 :デフォルトの名無しさん:2019/06/09(日) 01:59:59.85 ID:RDMRCxQC.net
まず普通の人はあの表記を見ても迷わない
一京歩譲ったとして仮に迷ったとしても与えられた答えを代入すれば猿でも分かる
つまりいちゃもんつけてるのは猿未満

266 :デフォルトの名無しさん:2019/06/09(日) 02:03:55.91 ID:vJOouxE6.net
自演乙

267 :デフォルトの名無しさん:2019/06/09(日) 02:08:15.94 ID:1JZdgA2h.net
人じゃないけど、参考に

wolframalpha、
https://www.wolframalpha.com/input/?i=1%2Fx%2B1%2F2y%2B1%2F3z%3D4%2F3

https://www.wolframalpha.com/input/?i=1%2Fx%2B1%2F%282y%29%2B1%2F%283z%29%3D4%2F3

google
https://www.google.com/search?q=y%3D1%2F3x

https://www.google.com/search?q=y%3D1%2F%283x%29

268 :220:2019/06/09(日) 05:40:38.30 ID:rn4C+nSw.net
>>220
Ruby で、

ary = ( 1..4 ).to_a

# 直積・3重ループ
p ary.product( ary, ary ).select { |( x, y, z )|
Rational( 1, x ) + Rational( 1, 2 * y ) + Rational( 1, 3 * z ) == 4/3r }

#=> [[1, 2, 4], [1, 3, 2], [2, 1, 1]]

269 :デフォルトの名無しさん:2019/06/09(日) 08:43:57.74 ID:OSjRKT39.net
>>263 >コード書いたわけじゃなくて普通の数式やがな

普通の数式ってどこの世界での普通なんだ? 普通の数式ならそんな書き方はしないからな。
1/2y を普通の数式として解釈すれば、(1/2) * y が普通の解釈だろ。 左から順に演算されるのが普通(と言うかルール)だからな。

270 :デフォルトの名無しさん:2019/06/09(日) 09:08:49.29 ID:T9jyzIYI.net
左からやって普通は1割る2yだろ
普通の数式で1÷2yってあってそう解釈するか?
割る記号の変わりだろ/は
プログラムのコードじゃないぞ

一個目の1/xがないならまだわからんでもないけど

271 :デフォルトの名無しさん:2019/06/09(日) 09:18:11.20 ID:OSjRKT39.net
>>270 お前の普通の根拠を示してみろや。
記号が書かれてれば掛ける記号が略されてるとみなすのが普通

1/2y は1/2*y と等価 1割る2は、0.5 これが普通。

272 :デフォルトの名無しさん:2019/06/09(日) 09:20:36.13 ID:OSjRKT39.net
>>270 お前の異常なところは、2y が優先演算されると思い込んでいるところ。
そこが大きな間違い。

273 :デフォルトの名無しさん:2019/06/09(日) 09:32:55.64 ID:T9jyzIYI.net
中学の文字式の問題といてみたらいいんじゃないかな

274 :デフォルトの名無しさん:2019/06/09(日) 09:42:13.99 ID:1+U3aTMC.net
教養のない(1/2)派が暴れてて最高に笑えるわ
馬鹿は馬鹿らしく謙虚でいろよ

275 :デフォルトの名無しさん:2019/06/09(日) 10:16:16.60 ID:Gi1Jt9cY.net
普通とかほざくゴミまで出てきたってことは一番最初の出題者はやっぱりサイコパスだろ
解釈の分れる書き方をワザとしてんだよ

276 :デフォルトの名無しさん:2019/06/09(日) 10:16:55.57 ID:1+U3aTMC.net
いや馬鹿以外は一通りにしか解釈してねえだろ

277 :デフォルトの名無しさん:2019/06/09(日) 10:28:52.42 ID:OSjRKT39.net
>>273 だからお前の言う普通の文字式が書かれてるところを示してみろよ。
最も中学では、1/2のような書き方はしないから、そんな問題はないと思うが。

兎に角プログラミングスレで、
1/2x と書けば、(1/2)*x という解釈しかありえない。

もう一度 >>267 を見てこい。

278 :デフォルトの名無しさん:2019/06/09(日) 10:33:43.64 ID:dGGyKbbw.net
ID:OSjRKT39 こいつ、仕事もできねえんだろうな
同情するわ……こいつの同僚にw

279 :デフォルトの名無しさん:2019/06/09(日) 10:54:03.46 ID:8GuoKRFn.net
>>278
具体例も挙げてきちんと論証してるじゃん

280 :デフォルトの名無しさん:2019/06/09(日) 10:54:55.69 ID:wmlwj4f3.net
まあ理系なら数式見慣れてるし、数式だと 2x でセットと見るから
2x/3y を (2*x*y)/3 と解釈するアホはいないと思う

281 :デフォルトの名無しさん:2019/06/09(日) 10:57:55.90 ID:8GuoKRFn.net
>>280
https://www.wolframalpha.com/input/?i=2x%2F3y
うーん?

282 :デフォルトの名無しさん:2019/06/09(日) 10:58:26.13 ID:dGGyKbbw.net
>>279
お前は論証という言葉をまず辞書で引け

283 :デフォルトの名無しさん:2019/06/09(日) 10:59:01.91 ID:8GuoKRFn.net
理系じゃない人にもやさしい世界の方がよくない?

284 :デフォルトの名無しさん:2019/06/09(日) 11:00:19.84 ID:dGGyKbbw.net
理系以外にも優しくするのはいいとして馬鹿に優しくする必要は無いだろ
無能な猿が思い上がるだけ

285 :デフォルトの名無しさん:2019/06/09(日) 11:00:55.16 ID:tpC+iRBo.net
キチガイを一人召喚してるな

286 :デフォルトの名無しさん:2019/06/09(日) 11:00:55.34 ID:8GuoKRFn.net
>>282
仕事もできねえ、馬鹿、アホという人格否定で自分を正しく見せようという
幼稚な人より100倍マシだと思いましたよ

287 :デフォルトの名無しさん:2019/06/09(日) 11:02:06.44 ID:dGGyKbbw.net
>>286
たとい俺より百万倍マシだったとしてもお前がクズな現実は変わらない

288 :デフォルトの名無しさん:2019/06/09(日) 11:02:42.49 ID:8GuoKRFn.net
>>284
一般的な例を挙げて論証する人を馬鹿だとは思わないなあ
むしろ相手の人格を貶めることばかりに終始してる君のほうが・・・

289 :デフォルトの名無しさん:2019/06/09(日) 11:04:17.16 ID:dGGyKbbw.net
面白いなこいつ
叩けば音が鳴るおもちゃやん

290 :デフォルトの名無しさん:2019/06/09(日) 11:04:30.99 ID:8GuoKRFn.net
>>287
罵詈雑言を言ったら

291 :デフォルトの名無しさん:2019/06/09(日) 11:04:57.97 ID:8GuoKRFn.net
自分が賢くなるとでも?

292 :デフォルトの名無しさん:2019/06/09(日) 11:07:45.90 ID:OSjRKT39.net
>>280 理系ならwolfram ( mathematica ) を知らないわけないだろ。

>>281 をよく見ろ。 世界中の数学者はこう計算するというのが数学の世界なんだぞ。
お前は世界中の数学者をアホ呼ばわりするのか?

293 :デフォルトの名無しさん:2019/06/09(日) 11:07:46.72 ID:ycrydNOH.net
で、結局論証ってなんのこと?
どこに論理的な推論があったわけ。

294 :デフォルトの名無しさん:2019/06/09(日) 11:09:31.01 ID:8GuoKRFn.net
>>293
一般的で具体的な例を上げて説明してたよ

295 :デフォルトの名無しさん:2019/06/09(日) 11:11:12.17 ID:8GuoKRFn.net
>>292
はいストローマン論法

296 :デフォルトの名無しさん:2019/06/09(日) 11:11:47.45 ID:8GuoKRFn.net
君たちは理系なの?

297 :デフォルトの名無しさん:2019/06/09(日) 11:13:37.36 ID:ycrydNOH.net
>>294
一般的で具体的な例を上げて説明することは「論証」とは言いません
そんな的はずれな事言ってたらヴィトゲンシュタインが泣きますよ

298 :デフォルトの名無しさん:2019/06/09(日) 11:15:19.30 ID:8GuoKRFn.net
>>297
立派な論証だよ
ウィトゲンシュタインもうなずいてるよ

299 :デフォルトの名無しさん:2019/06/09(日) 11:15:45.10 ID:OSjRKT39.net
>>293 論証じゃなくて、wolfram やgoogle の計算の実証を挙げてるのに全くそんなのを無視しておいて何を今更。

なんにせよ、プログラマスレではプログラマとして動け。 問題としては落第。

300 :デフォルトの名無しさん:2019/06/09(日) 11:19:54.29 ID:ycrydNOH.net
wolframやgoogleでのレクシコンが今の議論に一体何の関係があるのだらうか!?
全くの荒唐無稽だと言っておきませうせうせう

301 :デフォルトの名無しさん:2019/06/09(日) 11:24:46.91 ID:8GuoKRFn.net
>>300
一般的にどう解釈されるかを示す具体例として挙げられてるよ
どうして歴史的仮名遣いなのさ!?

302 :デフォルトの名無しさん:2019/06/09(日) 11:37:39.19 ID:ycrydNOH.net
>>301
君はいい人そうだから強く生きていきませう

303 :デフォルトの名無しさん:2019/06/09(日) 11:41:33.13 ID:8GuoKRFn.net
>>302
どうして歴史的仮名遣いなの?
君の思う論証ってどういうもの?
他人の発言を的外れとまで言ったんだからきちんと説明していただきたい

304 :デフォルトの名無しさん:2019/06/09(日) 11:41:33.39 ID:OSjRKT39.net
>>300 自分の論証はどこに有る? 例を出せと言ってるのに出せないんだろ?

305 :デフォルトの名無しさん:2019/06/09(日) 11:43:32.18 ID:8GuoKRFn.net
>>304
兄貴、俺たちの勝ちっすね

306 :デフォルトの名無しさん:2019/06/09(日) 11:46:12.25 ID:8GuoKRFn.net
おいお前ら、俺たちのバックにはグーグルがいるんだぞ

307 :デフォルトの名無しさん:2019/06/09(日) 12:10:10.83 ID:SqGEiAZe.net
物理などの世界では並置優先ルールが有る。
1/ab は、1(a*b) 1/2yは1/(2y)

しかし一般的なプログラミング(コンピュータ)の世界では、並置は存在しないから並置優先ルールもない。
ab は、a、b とは別変数となる。

プログラミングのお題としては、プログラミングルールに従った出し方にすべき。

308 :デフォルトの名無しさん:2019/06/09(日) 12:49:50.56 ID:W8wtcQAp.net
1.出題者が複数の解釈のできる曖昧な書き方(1/2y)をした。
2.多くの回答者は曖昧さを理解した上で自然に取れる解釈(1/(2y))をした。
3.一部の回答者はプログラミングや数学的な記法の厳密な解釈として((1/2)y)であるべきとした。
4.3と3を煽る奴らのどうでもいい喧嘩←今ここ

309 :デフォルトの名無しさん:2019/06/09(日) 12:50:30.57 ID:fheL3UO0.net
お題をみてそれにあわせたコードをかくのがプログラミングだろ
お題は文章なり数式でプログラミングのルールにのっとる必要はないじゃん
表現が曖昧で複数にとれるようなものは出題者に確認するだけの話だと思うけど

310 :デフォルトの名無しさん:2019/06/09(日) 13:03:13.41 ID:Gi1Jt9cY.net
ゴミみたいな書き方する出題者がそもそも悪いでしょ
そういうヤツは除外しなきゃ
叩いて叩いて叩きまくればいいんだよ

311 :デフォルトの名無しさん:2019/06/09(日) 13:08:30.37 ID:SqGEiAZe.net
誤解を生まないように書けば良いのにな。

312 : :2019/06/09(日) 13:42:29.09 ID:VJkUGCEU.net
お題と回答
>>5 : 6 10 32 36 44
>>9 : 15 34 35 79
>>11 : 48 (78) 138-139 (140) 142 146 151 154
>>19 :
>>50, https://mevius.5ch.net/test/read.cgi/tech/1549160513/920 : 4 85 89
https://mevius.5ch.net/test/read.cgi/tech/1549160513/988 == >>164 : 59 61 167 169 189 192 201 202
>>90 : 95 96
>>99 :
>>200 : 214 219
>>215 : 227
>>220 : 232 240 248 256 268
>>235 : 236 237 238 239 247 249 259

313 :デフォルトの名無しさん:2019/06/09(日) 13:48:39.24 ID:7ZWYIG6V.net
>>307
> 物理などの世界では並置優先ルールが有る。
そういうルールを知らなかった奴が引っ込みつかなくなってるだけでしょ

314 :デフォルトの名無しさん:2019/06/09(日) 14:28:03.28 ID:zgQq0a06.net
>>308
> 2.多くの回答者は曖昧さを理解した上で自然に取れる解釈(1/(2y))をした。

多く?そもそも回答者がほとんどいないのでは?
それでもどちらかの解釈で回答した人は居るが、その回答はどちらの解釈が多かった?

315 :デフォルトの名無しさん:2019/06/09(日) 14:30:26.74 ID:zgQq0a06.net
>>307
それならばそのようなルールで書くと断りを入れてから書くべきだな。

316 :デフォルトの名無しさん:2019/06/09(日) 15:51:50.05 ID:30kMM31D.net
>>313 並置優先ルールがない世界に、並置優先ルールが有るものだと言う前提で問題を出せば混乱するに決まってる。

そんな仕様書を書いたら即座に首だろ。

(唯一の救いはこの場合答えがあるから、確認することはできたが、確認せずに回答した人がいることも忘れてはならない)
プログラムの世界は、1点の曇りもあってはならない。

317 :デフォルトの名無しさん:2019/06/09(日) 16:06:31.19 ID:BPlIESHh.net
曖昧さも糞も無いだろ
答えまで書かれてたんだからそれで確認するのが正常な頭脳の持ち主
数学できない阿呆が噛み付いてるだけ
惨めだからもうやめときな

318 :デフォルトの名無しさん:2019/06/09(日) 17:01:23.49 ID:wmlwj4f3.net
単なる匿名掲示板で仕様書ガーとかw
バカにされて悔しいのはわかるけど流石にそろそろアキラメロン

319 :デフォルトの名無しさん:2019/06/09(日) 17:31:39.31 ID:4d8N5HDz.net
激しい自演と正当化

320 :デフォルトの名無しさん:2019/06/09(日) 17:55:17.43 ID:KzhGDYKc.net
お題:Hello, World!を二進数で出力せよ

321 :デフォルトの名無しさん:2019/06/09(日) 18:46:11.83 ID:iI/aMWbb.net
>>320 Perl5

print map{sprintf'%b ',ord}split'','Hello, World!';

実行
~ $ perl 14_320.pl
1001000 1100101 1101100 1101100 1101111 101100 100000 1010111 1101111 1110010 1101100 1100100 100001

322 :デフォルトの名無しさん:2019/06/09(日) 20:11:20.28 ID:v5VOLpEn.net
お題
x=1から始めて一度のステップで
・xに1を足す
・xを2倍する
のいずれかを行うことができます。

正の整数Nが与えられるので、
x=Nに到達するのに必要な最小ステップ数を求めなさい。

N=34
=> 6 (1 -> 2 -> 4 -> 8 -> 16 -> 17 -> 34)

N=1
=> 0

N=10000
=> 17

323 :デフォルトの名無しさん:2019/06/09(日) 20:18:23.01 ID:SSgQq8CW.net
>>320
https://ideone.com/WlBY5N
括弧強い!

324 :デフォルトの名無しさん:2019/06/09(日) 20:26:39.07 ID:Gi1Jt9cY.net
>>322
シフト回数と1足した回数調べりゃいいんじゃないの

10000 (10) = 10011100010000 (2)
34 (10) = 100010 (2)

325 :デフォルトの名無しさん:2019/06/09(日) 20:58:31.04 ID:8GuoKRFn.net
>>324
なるほどね!

VB
https://paiza.io/projects/RU2L7bgni8qwq8dSAWGlKA

326 :デフォルトの名無しさん:2019/06/09(日) 21:12:31.05 ID:jNBSWirB.net
>>325
桃白白改めミスターポポ改めピラフ改めピッコロさんには少し難しかったかな

327 :デフォルトの名無しさん:2019/06/09(日) 21:18:39.26 ID:OSjRKT39.net
>>320 Python

print( ['{:08b}'.format(ord(s) ) for s in 'Hello, World!' ] )

# ['01001000', '01100101', '01101100', '01101100', '01101111', '00101100', '00100000', '01010111', '01101111', '01110010', '01101100', '01100100', '00100001']

328 :デフォルトの名無しさん:2019/06/09(日) 21:25:43.55 ID:D5Urc2jv.net
>>322 Ruby
f=->n{n.digits(2).sum+n.bit_length-2}
p f[34] # => 6
p f[1] # => 0
p f[10000] # => 17

329 :デフォルトの名無しさん:2019/06/09(日) 22:04:49.27 ID:OSjRKT39.net
# >>322 Python 取り敢えずオーソドックスに

def step(n):
 for cnt , _ in enumerate( range(n ) ):
  if n == 1 : break
  n = n//2 if n%2 == 0 else n-1
 return cnt

print(step(34)) #6
print(step(10000)) #17
print(step(1)) #0

330 :デフォルトの名無しさん:2019/06/09(日) 22:08:37.43 ID:8GuoKRFn.net
>>320
Java
https://paiza.io/projects/zA8YxDpbM7SdnR-ghzkqrA?language=java

331 :デフォルトの名無しさん:2019/06/09(日) 22:49:04.65 ID:OSjRKT39.net
>>322 Python >>328を真似して

f = lambda n: bin(n).count('1') + n.bit_length()-2

print(f(34)) #6
print(f(10000)) #17
print(f(1)) #0

332 :デフォルトの名無しさん:2019/06/10(月) 10:26:34.05 ID:Xpp6HhX6.net
>>322 Squeak Smalltalk

| fn |
fn := [:n | n bitCount + (n numberOfDigitsInBase: 2) - 2].
fn value: 34. "=> 6 "
fn value: 1. "=> 0 "
fn value: 10000. "=> 17 "

333 :デフォルトの名無しさん:2019/06/11(火) 00:54:15.70 ID:aZcuYhl5.net
>>322
以下みたいに、すべてのステップ数を記録する、表を作っていくのか?

0 step : 1
1 : 2
2 : 3, 4
3 : 4, 6 | 5, 8 => 4, 5, 6, 8
4 : 5, 8 | 6, 10 | 7, 12 | 9, 16 => 5, 6, 7, 8, 9, 10, 12, 16

334 :333:2019/06/11(火) 02:58:39.60 ID:aZcuYhl5.net
表を作らなくても、これで良いのか

1. 偶数なら、2で割る
2. 奇数なら、1を引いてから、1へ行く

335 :デフォルトの名無しさん:2019/06/11(火) 09:40:44.16 ID:9nwOHJjF.net
>>334 少し前すら読んでいないんだな。
その考え方で解いたのが。>>329

さらなるアイデアが、>>328 >>331 >>332

336 :デフォルトの名無しさん:2019/06/11(火) 09:58:48.09 ID:p0Xp2yNy.net
>>335
そいついつも人の話を聞かない奴だからスルーしとけばいいよ

337 :デフォルトの名無しさん:2019/06/11(火) 10:35:23.49 ID:fys+McUU.net
最小ステップの証明は?

338 :デフォルトの名無しさん:2019/06/11(火) 11:02:34.44 ID:9nwOHJjF.net
>>337 1足す2が3であることを証明しろと言うのか?
まあいいや、最小ステップは2倍が最大回数になればよいだけの話。

339 :デフォルトの名無しさん:2019/06/12(水) 01:58:04.75 ID:vCbGNUwk.net
>>322
kotlinスクリプト

>>> fun f(n: Int) = println("N=$n\n=> ${n.toString(2).map { it - '0' + 1 }.sum() - 2}")
>>> f(34)
N=34
=> 6
>>> f(1)
N=1
=> 0
>>> f(10000)
N=10000
=> 17

340 :デフォルトの名無しさん:2019/06/12(水) 02:51:35.08 ID:vCbGNUwk.net
>>320
Kotlin

https://paiza.io/projects/w4z9UaR7KG9qv6Zmc7KE_Q

文字コードを2進数で出すのでは簡単過ぎるので・・・

341 :333:2019/06/12(水) 06:36:52.68 ID:vWkgJgOw.net
>>322
Ruby で、

def f( n )
n_2 = n.to_s( 2 ) # 2進数

# 2進数の桁数 + 1の個数 - 2
n_2.length + n_2.count( "1" ) - 2
end

p [ 1, 34, 10_000 ].map { |n| f( n ) }
#=> [0, 6, 17]

342 :デフォルトの名無しさん:2019/06/12(水) 08:43:05.24 ID:PSW3BzBK.net
>>235 Io
f := method(s,
((65+90)*26/2 - s sum)asCharacter
)
Io> f("BCDEFGHIJKLMNOPQRSTUVWXYZ")
==> "A"

343 :デフォルトの名無しさん:2019/06/12(水) 09:55:38.00 ID:6rY4ofim.net
何かと思ったら'A'から'Z'の総和か、その求め方は草

344 :デフォルトの名無しさん:2019/06/12(水) 12:18:37.17 ID:5tKK6KtT.net
お題:特定ドライブ配下の*.jpgファイルを削除し、そのjpgファイルが格納されていたフォルダも削除する

345 :デフォルトの名無しさん:2019/06/12(水) 12:31:12.34 ID:x67noP4p.net
質問スレへどうぞ。

346 :デフォルトの名無しさん:2019/06/12(水) 13:19:30.21 ID:apqCeTcN.net
>>344
rm -rf /

347 :デフォルトの名無しさん:2019/06/12(水) 15:25:36.12 ID:5tKK6KtT.net
>>346
ありがとうございます。試してみます。

348 :デフォルトの名無しさん:2019/06/12(水) 16:38:42.58 ID:cGak2oax.net
面白いことになりそうだな、ワクワク

349 :デフォルトの名無しさん:2019/06/12(水) 17:30:57.74 ID:8XpDs8H3.net
最近のrmはそれじゃ実行できないとマジレス

350 :デフォルトの名無しさん:2019/06/12(水) 17:36:01.92 ID:cGak2oax.net
何にせよ良い子は、>>344 なんてお題は無視するように。
いろんな人間がいるのに、ファイルを削除とかディレクトリを削除とか言う問題は危険すぎる。
せめてrename で済ませるべき。

経験のある人間でも、テストでいきなり削除なんてしないぞ。 怖くてできるわけがない。

>>344 の問題は却下。

351 : :2019/06/12(水) 23:51:44.14 ID:1cw0Fvdf.net
>>350
回答という形での投票行動がもっとも自然な見解なのでは?

352 :デフォルトの名無しさん:2019/06/13(木) 00:08:48.60 ID:NulSwGzN.net
Ruby には、FileUtils::DryRun みたいに、
実際には実行されなくて、どうなるかだけを見るモードがある

PowerShell の、-WhatIf もそう

>>346
は、あちこちで、rm -rf /
を書いてる荒らしだから、実行しないように!

353 :デフォルトの名無しさん:2019/06/13(木) 01:15:05.86 ID:uE2MTK17.net
>>235
Kotlin

https://paiza.io/projects/e1tMs1B9gF4m-AWN-z-Gyg

Set に全て入れて'A'..'Z'のSetから引くやり方で足りない文字は全て出すようにした。

354 :デフォルトの名無しさん:2019/06/13(木) 01:43:17.30 ID:SaZXT9dZ.net
>>352 dry run はいろんなツールにもあるけど、良い子の皆がそんな事に気付く訳ないじゃないか。
危険なものには近づかないのが一番。

>>344 は、単にアホな問題というだけ。 無視虫蒸し

355 :デフォルトの名無しさん:2019/06/13(木) 01:44:02.67 ID:uE2MTK17.net
>>344
Linux や UNIX 系 OS で良く使われる find コマンドの場合は次のようにできる。

find '対象のディレクトリ' \( -type f -name '*.dir' -o -type d \) -delete

-delete が使えない find の場合は

find '対象のディレクトリ' -depth -type f -name '*.jpg' -exec rm {} \; -o -type d -exec rmdir {} \;

但し *.jpg 以外のファイルがあったら削除されないのでそのディレクトリの削除はできない。

Windows の場合でも WSL の Linux 環境か、Cygwin環境等では同じやり方が使える。
素の Windows だと find.exe という同名の全く違う動きをするコマンドがあるので同じやり方はできない。

356 :デフォルトの名無しさん:2019/06/13(木) 02:18:28.38 ID:N68D4F9N.net
>>352
あれだけ周りから荒らし認定されても全く態度を改めないお前が、他人を荒らしだなどとよく言えるな。

357 :デフォルトの名無しさん:2019/06/13(木) 07:56:16.47 ID:C3vlVMf6.net
>>355
「jpegファイルが入っていたディレクトリの」削除になっていないですよ

358 :デフォルトの名無しさん:2019/06/13(木) 09:22:03.12 ID:387c3JPq.net
>>322
Haskellでオーソドックスに。

main = mapM_ (print.f) [1,34,10000,0]

f = length.f'
where
f' n | n < 1 = error "Please n > 0 number."
f' 1 = []
f' n | even n = n:f' (n `div` 2)
f' n = n:f' (n - 1)

Out:

0
6
17

Program error: Please n > 0 number.

359 :デフォルトの名無しさん:2019/06/13(木) 09:23:37.93 ID:387c3JPq.net
>>235
Haskellで正規表現知らん奴が。。。

import Data.List

main = mapM_ (print.f) ["BCDEFGHIJKLMNOPQRSTUVWXYZ", "YIZFOADLMWCRUTGSVQKJEHNBP"]

f = f' ['A'..'Z']
where
f' [x] _ = x
f' az (x:xs) = f' (delete x az) xs

Out:

'A'
'X'

360 :デフォルトの名無しさん:2019/06/13(木) 09:39:44.91 ID:Br2wLKeL.net
>>357
ああ。入ってなくても空だと消されるか。
じゃあもう一捻り必要だな。

361 :デフォルトの名無しさん:2019/06/13(木) 10:41:34.39 ID:n1M8G6tH.net
良問ですな

362 :デフォルトの名無しさん:2019/06/13(木) 20:07:47.87 ID:CBVgpEUY.net
お題
実行すると1から6までの数字のどれか1つを返すサイコロのプログラム
表示可能なら以下の文字列を使っても良い
⚀⚁⚂⚃⚄⚅

363 :デフォルトの名無しさん:2019/06/13(木) 20:39:06.34 ID:Kt3d2lSx.net
⚀ しか出さないものでもいいのけ?w

364 :デフォルトの名無しさん:2019/06/13(木) 20:40:29.16 ID:l9amdy+N.net
>>362 PHP
1

365 :デフォルトの名無しさん:2019/06/13(木) 21:09:03.26 ID:UDXJ1rkZ.net
>>362 javascript
'⚀'

366 :デフォルトの名無しさん:2019/06/13(木) 21:18:28.25 ID:Oox4dDUw.net
>>362 Ruby
p$.

367 :デフォルトの名無しさん:2019/06/13(木) 21:29:38.97 ID:yBwKh2Mt.net
>>362 Ruby
def dice
n = [0, 0, 0, 0, 0, 0]
1000000.times do n[(0...6).to_a.sample] += 1 end
p n
n.rindex(n.max) + 1
end
puts dice

368 :蟻人間 :2019/06/13(木) 21:38:38.55 ID:FGFZkT/Z.net
お題: トランプのハートの1〜mとダイヤの1〜mの合計2m枚(1≦m≦9)を使って神経衰弱ゲームをするプレーヤーを実装し、n人のプレーヤーで神経衰弱ゲームをシミュレーションせよ。
カードは横一列に並べられる。最初は全て裏面でランダムな並びとする。
プレーヤーはカード番号の並びを文字列として読み取ることができる(裏面はゼロと見なす)。

369 :デフォルトの名無しさん:2019/06/13(木) 21:41:29.88 ID:flist1Oo.net
>>362
Bash
https://paiza.io/projects/1Rp_TQc1ZZJTYLnPpC-kLg?language=bash

370 :デフォルトの名無しさん:2019/06/13(木) 21:45:57.30 ID:V6nODsfN.net
>>362 Pharo/Squeak Smalltalk

#('⚀' '⚁' '⚂' '⚃' '⚄' '⚅') atRandom. "=> '⚁' "

371 :デフォルトの名無しさん:2019/06/13(木) 21:47:11.24 ID:yBwKh2Mt.net
>>362
puts Time.now.sec % 6 + 1

372 :蟻人間 :2019/06/13(木) 22:27:44.15 ID:FGFZkT/Z.net
>>368
出力例。
000000
プレーヤー1が開きました。
100200
不一致。閉じます。
000000
プレーヤー2が開きました。
110000
一致。プレーヤー2は計2枚獲得。
プレーヤー2が開きました。
110202
一致。プレーヤー2は計4枚獲得。
プレーヤー2が開きました。
113232
一致。プレーヤー2は計6枚獲得。
プレーヤー2の勝ち。

373 :蟻人間 :2019/06/13(木) 22:55:45.20 ID:FGFZkT/Z.net
>>368
補足。文字列でも配列でもいい。
一枚ずつでも二枚ずつでもいい。
プレーヤーは

374 :デフォルトの名無しさん:2019/06/15(土) 12:26:21.79 ID:n7CfuAo6.net
>>362
Kotlin スクリプト

Unicode の DIE FACE-1 〜 6 を使う場合はこれ。

println((0x2680 + kotlin.random.Random.nextInt(6)).toChar())

ASCII の数字(所謂半角の数字)にしたい場合はこれ。

println(('0' + kotlin.random.Random.nextInt(6)).toChar())

漢数字にしたければこれ。(これにサイコロの文字を割り当てても良い)

println("一二三四五六"[kotlin.random.Random.nextInt(6)])

375 :デフォルトの名無しさん:2019/06/15(土) 12:27:27.56 ID:n7CfuAo6.net
あ、ASCII の場合は何も考えずに1足してただ出力すれば良いだけだった。
まあいか。

376 :デフォルトの名無しさん:2019/06/15(土) 14:29:00.37 ID:54Zm/EIO.net
>>362 なんでそんなの出すんだよ。、問題になってないじゃないか。
解答 ⚄

377 :デフォルトの名無しさん:2019/06/15(土) 16:05:02.20 ID:BY4KYcRQ.net
ダイスってトライグラフじゃねーか!!
色々変換かけないと出せなくて苦しい。@C++。

ちなみにトライグラフの仕様は削除されました。

378 :デフォルトの名無しさん:2019/06/15(土) 16:38:27.08 ID:0Ytlw1xG.net
>>371
イカサマ賽じゃねーか

379 :デフォルトの名無しさん:2019/06/15(土) 16:46:37.42 ID:BY4KYcRQ.net
https://ideone.com/HU8OdB
>>362 C++
メモリ上に持つことはできてデバッガでも表示されるが、iostreamが認識なくて数字になる。
wchar_tのように組み込み型になってないみたい。@VC++

にわかにはここまでしかできない。Orz

380 :デフォルトの名無しさん:2019/06/16(日) 12:54:26.74 ID:yFpqmFPd.net
>>362 R
cat(sample(1:6,1))

381 :デフォルトの名無しさん:2019/06/16(日) 14:16:01.82 ID:e+LWqLgl.net
>>362 Python

import random

for _ in range(10) : print(random.choice("⚀⚁⚂⚃⚄⚅"), end=' ')

# ⚅ ⚅ ⚁ ⚃ ⚀ ⚃ ⚁ ⚄ ⚂ ⚀

382 :デフォルトの名無しさん:2019/06/16(日) 14:54:11.08 ID:NJ2skO19.net
もふもふ

383 :デフォルトの名無しさん:2019/06/16(日) 16:47:25.75 ID:NJ2skO19.net
神経衰弱を作っていたが、VC2019が仮想関数をうまく扱ってくれない感じで大爆死。

384 :デフォルトの名無しさん:2019/06/16(日) 16:54:34.40 ID:NJ2skO19.net
https://dotup.org/uploda/dotup.org1873815.zip
ここまで作ってデバッグしようとしたらシェアードポインタが継承扱ってくれない感じになった。

385 :デフォルトの名無しさん:2019/06/16(日) 17:02:05.88 ID:e+LWqLgl.net
>>384 前の方からの VC++ の人かな?
なんでそんなに苦労してるのかが理解できない。
使った事ないから知らないけど。

でも、貼るんだったらzip は辞めようよ。 怖くて開けない。 ソースだけなら動かなくてもideon に張り付ければ良いじゃん。

386 :デフォルトの名無しさん:2019/06/16(日) 17:12:16.15 ID:NJ2skO19.net
>>385
ソースが2分割されててまとめたほうがいいかと思ったけど。
ZIPって脆弱性あるの?

張りなおすわ。

387 :デフォルトの名無しさん:2019/06/16(日) 17:16:39.10 ID:NJ2skO19.net
https://ideone.com/mqLP90
C++。開発中だが、頓挫したので挙げておく。
面倒なことしてるとは言うけど、プレイヤー分けたほうがそれっぽいかと思って分けてある。
あまり深い意味はないよ。

388 : :2019/06/16(日) 17:58:27.24 ID:gDHKfsB6.net
お題:
a, b, c, d, e, f, g, h, i, j, x は正の整数で
a^3 - b^3 = c^3 - d^3 = e^3 - f^3 = g^3 - h^3 = i^3 - j^3 = x
を満たす.
条件を満たす最小x と対応する a, b, c, d, e, f, g, h, i, j を求めよ

389 :デフォルトの名無しさん:2019/06/16(日) 18:10:27.80 ID:0YuYzKwS.net
>>387
仮想関数名前違うじゃん

390 :デフォルトの名無しさん:2019/06/16(日) 18:59:11.36 ID:NJ2skO19.net
https://ideone.com/StMJSA
>>神経衰弱。
一応、ランダムプレイヤーで終了まで走ったのでアップ。おしまい。
いい暇つぶしになった。

>>389
あぁ、別スレにも投げたんだが、即反応があって赤っ恥だよ。
直したところ、通ったので適当にデバッグが可能になった。

391 :デフォルトの名無しさん:2019/06/16(日) 19:15:07.52 ID:SF357sr+.net
NervousBreakdown って名前はユーモアでそうしてるだけ?
カードゲームの神経衰弱って、(一部の)日本人しか連想できなさそうな名前だけど

392 :デフォルトの名無しさん:2019/06/16(日) 19:15:53.29 ID:EJ1uP6fE.net
俺は英語に詳しいんだ

393 :デフォルトの名無しさん:2019/06/16(日) 19:17:19.26 ID:NJ2skO19.net
>>391
グーグルで翻訳かけたらそれが出たので脳死で採用。
英語下手なんだ。

394 :デフォルトの名無しさん:2019/06/16(日) 21:36:03.28 ID:0GeuHYqO.net
ゲーム名とかは翻訳に掛けるんじゃなくてwikipediaとかで調べればいいと思うよw

395 :デフォルトの名無しさん:2019/06/16(日) 21:52:41.52 ID:paRCIAHR.net
>>393
concentration または memory ではないかな。

396 :デフォルトの名無しさん:2019/06/16(日) 22:00:19.21 ID:NJ2skO19.net
>>395
ウィキペディアには、前者が書いてあった。
ローカルの直しておくかな。
イデオンは編集可能期限が過ぎてる。

397 : :2019/06/16(日) 22:15:01.42 ID:gDHKfsB6.net
>>388
条件を追加します、a, b, c, d, e, f, g, h, i, j は互いに異なる正の整数です
試算では
x = 1412774811
になりました

398 :デフォルトの名無しさん:2019/06/16(日) 22:24:36.49 ID:81Mc3quK.net
数学の宿題解いてくださいスレ立てれば

399 : :2019/06/16(日) 23:19:03.49 ID:gDHKfsB6.net
>>398
どうして、あるいはどういう点によって、これは宿題だと思ったのですか?

400 :蟻人間 :2019/06/16(日) 23:21:46.39 ID:QegIZpn+.net
お題: 入力からC言語の整数リテラルもしくは浮動小数点数リテラルを読み取り、型の種類、実際の値の十進表現、そして型のバイトサイズを出力するプログラム。
入力が不正な場合はERRORと出力せよ。
前後の空白は読み飛ばすこと。

401 :デフォルトの名無しさん:2019/06/17(月) 01:22:44.99 ID:ikLTlFyV.net
https://ideone.com/tSqKkb
>>400
ベターC。今流行りのTrueパーサーというやつです、はい。
怒られるヤツです、はい。

ローレベルは苦手だ。

402 :デフォルトの名無しさん:2019/06/17(月) 01:30:23.22 ID:ikLTlFyV.net
>>397
数字が異なるモノであることをチェックするのが面倒だなぁ。字数多くて。

403 :デフォルトの名無しさん:2019/06/17(月) 03:31:09.45 ID:lxC/KfUO.net
>>388,397
俺も適当に回したもので1412774811が出たが、
それが正しいかどうか調べるのは21701までの総当たりで1412774811より小さい条件を満たすものが無けりゃええんよな?
21702^3 - 21701^3が1412865307になって1412774811を超えるけーの

404 :デフォルトの名無しさん:2019/06/17(月) 14:19:11.19 ID:ikLTlFyV.net
https://ideone.com/yqze0k
>>388 >>397
総当たり(予定)
概算書いてあるから簡単かと思ったら、リリースでも終わらないでござる。
よく考えたら、15ビットの10乗だったので死ぬわ。でござる。

405 :デフォルトの名無しさん:2019/06/17(月) 14:44:54.54 ID:ikLTlFyV.net
https://ideone.com/LROfLu
>>404 の おまけ。
ハッシュにしてみたら、面倒なチェック落とせるんじゃね?と思い、物故んでみたところ。
メモリ限界に達して死にました。南無。

406 :デフォルトの名無しさん:2019/06/17(月) 17:11:31.48 ID:DBfNM9nt.net
>>368 Squeak/Pharo Smalltalk

| m scores turn cards mask print |
m := 3.
scores := #(0 0).
cards := ((1 to: m), (1 to: m)) shuffled.
Transcript open; clear.
(print := [:val | Transcript cr; show: val]) value: cards * (mask := Array new: m*2 withAll: 0).
turn := 1.
[mask includes: 0] whileTrue: [
| player choice prevMask pair |
player := turn - 1 \\ 2 + 1.
choice := (mask negated + 1 * (1 to: m * 2) copyWithout: 0) shuffled first: 2.
prevMask := mask copy.
pair := choice collect: [:pos | mask at: pos put: 1. cards at: pos].
print value: 'プレーヤー', player asString, 'が開きました。'; value: cards * mask.
pair asSet size caseOf: {
[2] -> [print value: '不一致。閉じます。'; value: (mask := prevMask) * cards. turn := turn + 1].
[1] -> [print value: ('一致。プレーヤー{1}は計{2}枚獲得。' format: {player. scores at: player incrementBy: 2})]
}
].
print value: (scores asSet size = 1
ifTrue: ['引き分け。']
ifFalse: ['プレーヤー', (scores indexOf: scores max) asString, 'の勝ち。'])

407 :デフォルトの名無しさん:2019/06/17(月) 18:07:12.55 ID:1OuEx0ms.net
>>397 >>388
お、なんか簡単に出来なさそうだから、やってみるかな。 たまたま記号計算の勉強中だから、やってみるがそっちの勉強の方が難しすぎて答えまでたどり着けるかどうかわからんが、良い練習問題になる。

408 :蟻人間 :2019/06/17(月) 18:27:18.50 ID:00OaCjzA.net
お題: あなたは完全予約制の映画館の運営責任者だ。映画館にある10x10席について予約アプリを作ることになった。

仕様:
2桁の座席番号で空いてる席を予約できる。
「おまかせ」ボタンで席を決めてくれる。
席が決まったら、整理券を発券する。
「印刷」ボタンで予約状況を印刷できる。
「売上」ボタンで売上を計算できる。

409 : :2019/06/17(月) 18:52:34.71 ID:mDiaA7dQ.net
>>402
問題文が悪いようですね、ごめんなさい
言いたいことは
任意の正の整数 a, b, の三乗差 a^3 - b^3 で表される整数について、これが 5 通りの三乗差で表現できる最小の整数を求めよ
のつもりだったのです

4通りの三乗差で表現できる最小の数は
165^3-93^3=162^3-111^3=178^3-63^3=678^3-3^3=4118877
です。

>>403
最悪 (10進4桁)^3 でなんとかなると思っていましたが…

410 : :2019/06/17(月) 20:32:11.25 ID:mDiaA7dQ.net
>>409
こちらで書いた試行プログラムにバグが見つかりました

4通りの三乗差で表現できる最小数は
165^3-72^3=162^3-51^3=178^3-115^3=678^3-675^3=4118877

20年ぶりにバグ出ししてしまった…てへぺろ

411 :デフォルトの名無しさん:2019/06/17(月) 20:39:53.72 ID:kwMyLS9e.net
いっっっつも問題修正してるじゃん。
雑なんだよ。センスも能力も無いのでは?

412 : :2019/06/17(月) 20:45:27.57 ID:mDiaA7dQ.net
>>411
はい、能力もセンスもありませんので、こちらで胸を借りようかと(宿題スレもあわせて)10年くらい書き続けてこの様だったりするのです…

413 : :2019/06/17(月) 21:59:24.42 ID:mDiaA7dQ.net
>>411
あれ?
直前の私のお題は
https://mevius.5ch.net/test/read.cgi/tech/1524570314/795,796
https://mevius.5ch.net/test/read.cgi/tech/1480579110/891
でしたが、「いっつも」と言われるほど問題を修正しまくっていましたっけ?

414 :デフォルトの名無しさん:2019/06/17(月) 23:25:47.26 ID:kD34CthS.net
>>362 なでしこ

(6 の 乱数) + 1 を 表示

415 :デフォルトの名無しさん:2019/06/18(火) 01:58:28.56 ID:yt8XeQST.net
>>408
なんのアプリ?

416 :デフォルトの名無しさん:2019/06/18(火) 06:13:34.61 ID:3nOE2mBA.net
プログラム板にキチガイ降臨中!botに一晩も反応する異常さ
一般人(学校恩師)に殺害予告をしているのでスレ建て通報してください。
https://mevius.5ch.net/test/read.cgi/tech/1559872586/

142 名前:a4 ◆700L1Efzuv 投稿日:2019/06/18(火) 05:29:55 ID://qVkzO
>>141
名古屋の人な 俺ね、君の問題を大橋先生と混ぜないことにする。つまりね、
片桐孝洋のことをボコろうと思う。普通に顎の骨を折る。これくらいで警察来るか?
一般市民とかさ、普通にさ、俺らの秘密なんだけどさ、日本人なんて復活ねーから。

417 :デフォルトの名無しさん:2019/06/18(火) 10:36:11.03 ID:gPTwn7rm.net
お題:あからさまなループ(再帰、goto等も含む)を使わずに1から100までを表示するコードを書いてください。

参考(ネタバレ注意)
https://www.quora.com/How-can-I-print-1-to-100-in-C%2B%2B-without-a-loop-goto-or-recursion

418 :デフォルトの名無しさん:2019/06/18(火) 14:41:48.42 ID:C7xWA/+P.net
>>417 Squeak/Pharo Smalltalk

1000 / 999 squared asScaledDecimal: 300

"=> 0.001002003004005006007008009010
011012013014015016017018019020
<snip>
081082083084085086087088089090
091092093094095096097098099100s300 "

419 :デフォルトの名無しさん:2019/06/18(火) 17:18:04.54 ID:yt+j24gZ.net
>>417
Kotlin スクリプト
こういうのアリか?

println((1..100).joinToString())

420 :デフォルトの名無しさん:2019/06/18(火) 17:25:13.33 ID:0ZczZHMk.net
>>417
pythonなら超簡単に書けそう。
俺は書かないけど。

421 :デフォルトの名無しさん:2019/06/18(火) 17:31:24.32 ID:GIiOlD+x.net
>>417 Common Lisp
https://ideone.com/R6x9iB

422 :デフォルトの名無しさん:2019/06/18(火) 23:24:46.27 ID:iS/QjWZR.net
>>417 そもそもなんのためにこんな小汚いコーディングしてるのか理解不能。 >>417 の出題者の目的はなんだ?

Python for loop 無しというルールがわからん
これはループしてないだろ?

print( [i for i in range(1,101) ] )

423 :デフォルトの名無しさん:2019/06/18(火) 23:31:47.74 ID:uzZY1452.net
パズルとか頓智とかゴルフとかそういう系統でしょ
あなたにはおそらく今後5年間は理解できそうにないからわざわざ首を突っ込まなくていいんじゃない?
それとそのコードだとforを使ってることになるからダメだよ
「なんでダメなの?」と聞かれてもその手の遊びを本当に理解できない物体がいるのでコミュニケーション不可能だから答える必要はない

424 :デフォルトの名無しさん:2019/06/18(火) 23:38:20.95 ID:LmXiKmLw.net
printで1から100まで出力したらダメですかw

425 :デフォルトの名無しさん:2019/06/19(水) 00:18:45.19 ID:SHnWP/2E.net
>>424
別にいいけど、受けないとわかってるギャグを言う時と同じくらい恥ずかしいと感じるんじゃないかな

426 :デフォルトの名無しさん:2019/06/19(水) 00:25:06.13 ID:vbzhpePV.net
>>423 ま、いいけどさ、for という言葉が嫌いなら

>>417 Python

print(list(range(1,101)))
結果
[1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46,
47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100]

427 :デフォルトの名無しさん:2019/06/19(水) 00:26:59.96 ID:5w3Qflb9.net
rangeもダメです

428 :デフォルトの名無しさん:2019/06/19(水) 00:29:09.75 ID:fEpvNKSm.net
>>397
2分46秒で答えが出た。このくらいで答えが出るはいいお題。

429 :デフォルトの名無しさん:2019/06/19(水) 00:29:30.92 ID:vbzhpePV.net
>>427 何なら良いんだよ。まさかgoto 文以外はダメだとか言わないだろうな。
もう一度聞くが、for と range 以外なら良いのか?

430 :デフォルトの名無しさん:2019/06/19(水) 00:31:10.59 ID:5w3Qflb9.net
>>429
じゃあrangeは良いです

431 :デフォルトの名無しさん:2019/06/19(水) 01:07:24.29 ID:vbzhpePV.net
>>417 >>427 >>419 kotlin と、>>421 commonLisp もダメなんだな?

とにかく自動生成される数列は許さないんだろ?
かつループも、再帰コールも、goto も使うなと。

やーめた。

432 :デフォルトの名無しさん:2019/06/19(水) 01:35:17.48 ID:mmqopiXL.net
>>417 Perl5

print "@{[1..100]}\n";


実行結果
$ perl 14_417.pl
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46
47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88
89 90 91 92 93 94 95 96 97 98 99 100

433 :デフォルトの名無しさん:2019/06/19(水) 01:47:16.78 ID:G/RPQnNp.net
https://ideone.com/sjWw95
>>417
見よ、この土方力を。
趣旨からしてこういうことだよね。
汎用性つらぽよ。

434 :デフォルトの名無しさん:2019/06/19(水) 01:57:49.22 ID:G/RPQnNp.net
言い訳するんやったら、ループじゃなくて、掛け算です。

と、言ってみる。

435 :デフォルトの名無しさん:2019/06/19(水) 03:30:31.24 ID:4D/OEXM7.net
>>431
ダメってことはないけど「お!」って思わせる意外さや面白さはないよね?

>>417は「およそ誰もが最初に思いつく方法(つまりループ等)以外で
1から100までを表示するコードをひねくり出してみてください」
という知性やユーモアを問うゲーム

436 :デフォルトの名無しさん:2019/06/19(水) 05:20:19.54 ID:NxDxxkQ7.net
>>417 R
cat(1:100)

437 :デフォルトの名無しさん:2019/06/19(水) 09:45:26.08 ID:gZl/9gTZ.net
クソ問出しといて面白い回答でオレ様を感心させろとか言う厚顔無恥なクズ

438 :デフォルトの名無しさん:2019/06/19(水) 10:47:05.36 ID:WYELJAwQ.net
>>417
bash

echo {1..100}

439 :デフォルトの名無しさん:2019/06/19(水) 11:28:35.01 ID:AE1x6OvS.net
だから言ったじゃん
その手のユーモアを全く理解できない物体がいて、そいつらとはコミュニケーション不可能だ、って
わざわざ首を突っ込んできてクソ呼ばわり、害悪そのものだ

「理解不可能」「出題者の目的」「ルールが分からん」と三拍子揃ってるからコミュニケーション不可能の異質な生物だと思った方がいい
for rangeのを出して来て「ループしてないだろ?」と聞く時点でもはやコミュニケーション不可能、価値感が根本から違う
表面だけは人間の姿形をしてるが中身は全然違う物体で、そいつらとはコミュニケーションや意志疎通は出来ない
絶望的に話が合わないし価値感も全く違うので、人語を解するコミュニケーション不可能な人型生物、程度に見ておいた方がいい

440 :デフォルトの名無しさん:2019/06/19(水) 14:20:18.59 ID:obZmDbZo.net
おだいじに

441 :蟻人間 :2019/06/19(水) 14:21:10.78 ID:GEIUHOY6.net
>>415
好きな端末でいいよ。

442 :デフォルトの名無しさん:2019/06/19(水) 16:12:40.53 ID:XyjBYhsR.net
>>417 Brainfuck
https://ideone.com/AOy5TP
あからさまなコピペ

443 :デフォルトの名無しさん:2019/06/19(水) 17:16:09.66 ID:ogviAWT/.net
>>417 javascript
console.log(Array.from({length:100},(_,i)=>i+1).join`\n`)

444 :デフォルトの名無しさん:2019/06/19(水) 19:47:06.93 ID:OY3s5aed.net
>>408
一席いくら?

445 :蟻人間 :2019/06/19(水) 19:56:34.95 ID:GEIUHOY6.net
>>444
200円(税込)

446 :デフォルトの名無しさん:2019/06/19(水) 21:58:53.08 ID:5w3Qflb9.net
>>417
Java
https://paiza.io/projects/S3ZKNQZ3Qf7Ga24YCGTJrQ

447 :デフォルトの名無しさん:2019/06/19(水) 22:25:22.23 ID:n9mQOThz.net
>>388
a^n-b^nの因数分解を眺めていたらnが素数の時はa-bの項しかないようだ。そして項数が素数になっている。

448 :デフォルトの名無しさん:2019/06/19(水) 23:11:59.86 ID:1TMSR9rp.net
>>446
再帰…

449 :デフォルトの名無しさん:2019/06/20(木) 02:27:04.40 ID:oTe0B3jI.net
Javaって言語は、一体何のために作られたのか…

450 :デフォルトの名無しさん:2019/06/20(木) 02:37:37.28 ID:oTe0B3jI.net
>>433
そのコードを見て1から100までを表示するプログラムだと
仕様を解釈するのは困難、
何のためにコードを書いてるのか意義が…
ドカタから脱却しなよ

451 :デフォルトの名無しさん:2019/06/20(木) 02:52:32.60 ID:Vo9FXuh9.net
>>417
Kotlin
https://paiza.io/projects/KZhyXLlN2KP7UUVWCPOcwA

ループはしていない。

452 :デフォルトの名無しさん:2019/06/20(木) 03:12:52.52 ID:abq7/G7i.net
>>417 phi
print(oneToHundredSeparatedBySpace())

453 :デフォルトの名無しさん:2019/06/20(木) 03:22:25.03 ID:BE85dc2p.net
>>417 PHP
1
0999999999988888888887777777777666666666655555555554444444444333333333322222222221111111111
0987654321098765432109876543210987654321098765432109876543210987654321098765432109876543210987654354321
縦書きなので右から左へ。

454 :デフォルトの名無しさん:2019/06/20(木) 08:15:15.24 ID:eWAtuK2L.net
>>450
何のためにって、お題に対して面白い解き方をするコードを挙げているのだから、コードから仕様を解釈するのが困難だなんて指摘は的外れだろうよ

455 :デフォルトの名無しさん:2019/06/20(木) 08:45:45.25 ID:/HnXr8PE.net
>>450
ドカタはお前やwww

456 :デフォルトの名無しさん:2019/06/20(木) 12:35:25.86 ID:C9bRCGTz.net
>>417
スクリプトか、それに準ずる文法持ってる言語有利やな。

Haskell

main = print [1..100]

それは1ー100のリストやろ言うなら

main = mapM print [1..100]

とか改行無しなら

main = mapM (putStr.show) [1..100]

“,”で区切れデコ助野郎言うなら

main = (putStrLn.init.concat.map ((++ ",").show)) [1..100]

457 :デフォルトの名無しさん:2019/06/20(木) 13:40:58.14 ID:8QzdDreI.net
mapは実質ループ処理やろ…

458 :デフォルトの名無しさん:2019/06/20(木) 14:00:32.25 ID:yAxi76dJ.net
mapはダメです

459 :デフォルトの名無しさん:2019/06/20(木) 15:39:33.58 ID:lLho4HyI.net
>>450
書いた人間だけど。
5個表示するのが5個あったら25個表示出来て、それを4個並べて100個!
完璧な作戦じゃないですか!!!!遂行するのが不可能ということもない。

5*5*4=100!!

460 :デフォルトの名無しさん:2019/06/20(木) 16:32:25.26 ID:Gh9YFRfh.net
>>417 はループ禁止とか言いながら、プログラムの外でループしてるだけのプログラムじゃないか。
プログラムにループかなくて繰り返しなんてあり得ない事がわからないバカなんだろうな。

461 :デフォルトの名無しさん:2019/06/20(木) 16:35:07.14 ID:lLho4HyI.net
屁理屈の応酬が見たかったんだろうけどね。

462 :デフォルトの名無しさん:2019/06/20(木) 16:43:22.80 ID:xEuEtm2x.net
そういう意味ではソフトから見て最小単位であるアセンブラのブロック転送命令もマイクロコードでループしてるわね。
と言う訳で、解なしが正解かな?

463 :デフォルトの名無しさん:2019/06/20(木) 17:02:57.57 ID:UeiaYI4k.net
あからさまなループ禁止でループ完全な禁止じゃないでしょそもそも

464 :デフォルトの名無しさん:2019/06/20(木) 17:20:12.64 ID:Gh9YFRfh.net
こんなドカタの力仕事の訓練しても何にもならない、こんなので楽しめるなんて ドM だろ。
綺麗なプログラムは許さない。できるだけ小汚いプログラムしかダメ。 いかに小汚くプログラム出来るかのコンテストです。

>>463 屁理屈だな。map や range などは明らかなループじゃないだろ。 明らかなループってなんだ?
1行で書かれた綺麗なプログラムは許しませんと言えよ。

465 :デフォルトの名無しさん:2019/06/20(木) 17:24:08.31 ID:lLho4HyI.net
人の持つ適度さっていうのを裁量してるともとれるし。

466 :デフォルトの名無しさん:2019/06/20(木) 17:25:50.68 ID:UeiaYI4k.net
mapだめって言ってるのが出題者どうかもわかんねえじゃん
あと解きたくないなら解きたくないでいいしほっとけばいい
曖昧だと思うなら質問すればいい
あと訓練するためのスレでもない

467 :デフォルトの名無しさん:2019/06/20(木) 17:49:38.66 ID:yAxi76dJ.net
じゃあmapは良いです

468 :デフォルトの名無しさん:2019/06/20(木) 17:50:26.82 ID:yAxi76dJ.net
>>464
ドカタはダメです

469 :デフォルトの名無しさん:2019/06/20(木) 18:40:11.89 ID:7bp91DBM.net
クソ問。

470 :デフォルトの名無しさん:2019/06/20(木) 18:42:30.38 ID:Gh9YFRfh.net
>>466 出題者は聞いたって答えないじゃんか。 ま、クソ問題でしかない。

471 :デフォルトの名無しさん:2019/06/20(木) 18:43:56.11 ID:8yknygrc.net
>>457
あからさまの定義は何?
map内部でループ使ってるからダメってなら、printf内部でループ使ってたらダメって言ってるのと一緒じゃん。

Haskell

main = sequence_ [print x | x <- [1..100]]

472 :デフォルトの名無しさん:2019/06/20(木) 18:48:20.30 ID:PrZKlplW.net
>>471 1行で書けるものは嫌いなんだってさ。
[1..100] なんて大っ嫌いだってさ。 自動生成される数字は全て反則だって。

473 :デフォルトの名無しさん:2019/06/20(木) 19:12:37.52 ID:lLho4HyI.net
一応、どの辺がプリミティブかっていうのはあると思うぞ。
オブジェクト指向と手続き型と関数型で均質なプリミティブとはいったい・・・。

ごごご・・・...,,,

474 :デフォルトの名無しさん:2019/06/20(木) 19:44:30.14 ID:dXsduSm6.net
>>417 Common Lisp
https://ideone.com/s6cgBp

こちらからの移植
http://blog.practical-scheme.net/shiro/20190620-print-100

475 :デフォルトの名無しさん:2019/06/20(木) 19:49:49.24 ID:Gh9YFRfh.net
>>474 よう解らんけど、それらはループの塊らしいよ。
要はプログラムの中で完結してる解は、全てループが入ってるはず。

476 :デフォルトの名無しさん:2019/06/20(木) 19:51:56.16 ID:Gh9YFRfh.net
プログラムの外でループさせろという趣旨の問題じゃないのかな?

477 ::2019/06/20(木) 21:09:58.62 ID:j5hWgvM1.net
>>428
試算プログラムでは40秒でした
個人的には ideone で実行結果まで出るくらいには高速化したいと思っています、ある程度高速化した上でのこの要求はかなり厳しいです

478 :デフォルトの名無しさん:2019/06/20(木) 21:16:47.46 ID:QhoGDCwl.net
>>475
ん、そんなことは誰もいっとらんとおもうけど?
shiroさんの解、良いじゃないか!

rangeはさておき、rangeをmapしてたらそれはもうループ処理だろう…

479 :デフォルトの名無しさん:2019/06/20(木) 22:04:45.76 ID:lLho4HyI.net
お題:犬作りましょう。(自由回答)
サンプル:https://ideone.com/jimp7B

人口無能・ドッグを作りましょう。
どこまで作りこむかはあなた次第。
なるべくビジュアライズして見せられるようにすると高得点です。

おひとついかがですか?

480 :デフォルトの名無しさん:2019/06/20(木) 22:29:29.17 ID:fMa85Kci.net
>>417 JavaScript
var n=1,t=setInterval(function(){console.log(n++);if(n>100){clearInterval(t);}},0);
>>451をJavaScriptで書き換えてみたけど明らかにループでしょこれ

481 :デフォルトの名無しさん:2019/06/20(木) 23:38:45.25 ID:OLwHtCR1.net
>>474 がループだとか難癖つけてる土方は
このコードが何やってんのか理解出来てんの?

482 :デフォルトの名無しさん:2019/06/20(木) 23:44:11.27 ID:Sr/gBML4.net
>>417
Java
https://paiza.io/projects/j6GOkwedFZ350XHeow1w-w

483 :デフォルトの名無しさん:2019/06/21(金) 00:14:32.42 ID:5YMvPAfL.net
>>481 出題者がループの定義をしていないんだから解らんよ。
format もループといえばループだろ。 繰り返しが入ってるものは全てループ。

484 :デフォルトの名無しさん:2019/06/21(金) 00:30:08.90 ID:smbNU/wq.net
いやいやformatはループじゃないだろ、頭湧いてるのか

485 :デフォルトの名無しさん:2019/06/21(金) 01:02:14.01 ID:Z2iYVQkJ.net
出題者か外野か知らないけど、ループの定義に拘ってこれはループだとかいうのはほっとけばいいんじゃないか?
そいつらの解釈なんか気にするより、他の誰かが見て感心や納得させられるような物を思い付いたら挙げてみた方が面白い。

486 :デフォルトの名無しさん:2019/06/21(金) 02:15:56.40 ID:8b/72/Ba.net
>>483
やっていることを理解できているかを問われているのにそれじゃ答えになってないよ
それともformatしかわからなかったという敗北宣言?

487 :デフォルトの名無しさん:2019/06/21(金) 02:51:58.63 ID:gD/sRlmt.net
>>388,397,477 Java
https://ideone.com/6VdAiU
あー、適当に分割しながら探索したらideone余裕だったわ
6通りは無理だがw

488 :デフォルトの名無しさん:2019/06/21(金) 07:21:50.48 ID:QhChOpgN.net
>>428
制約論理プログラムやデーモン型ソルバー使うと短く書けて面白い。

QR = (CSint **)malloc(STP * sizeof(CSint *));
for(i = 0; i < STP; i++){
QR[i] = cs_createCSint(1, DMIN);
}
xcost = cs_createCSint(1, XMAX);

CSint *sub[STP/2], *add[STP/2], *add1[STP/2];
for(i = 0; i < STP/2; i++) {
sub[i] = cs_Sub(QR[2*i], QR[2*i+1]);
add[i] = cs_Add(QR[2*i], QR[2*i+1]);
add1[i] = cs_Sub(cs_Mul(add[i], add[i]), cs_Mul(QR[2*i], QR[2*i+1]));
cs_Eq(cs_Mul(sub[i], add1[i]), xcost);
cs_GT(sub[i], 0);
}
for(i = 0; i < STP/2 - 1; i++) {
cs_Gt(sub[i], sub[i+1]);
cs_Lt(add1[i], add1[i+1]);
}
cs_AllNeq(&QR[0], STP);

cs_minimize(&QR[0], STP, cs_findFreeVarNbElements, xcost, cost_printSolution);

489 :デフォルトの名無しさん:2019/06/21(金) 07:32:04.38 ID:Ocejx0+r.net
>>417
Java
https://paiza.io/projects/Sb2icsTDEFMvTmepiS26Iw

490 :デフォルトの名無しさん:2019/06/21(金) 07:49:55.41 ID:i67HMLPS.net
>>417
書き込み制限で途中改行入れたが、もうこれが正解で良いんじゃね?

prinft("1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 "
"51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100");

491 :デフォルトの名無しさん:2019/06/21(金) 07:56:09.60 ID:vf8hmAK4.net
それも正解でしょ
書くのめんどくさいだけで

492 :デフォルトの名無しさん:2019/06/21(金) 08:18:08.17 ID:SnH180rX.net
>>417 Common Lisp
https://code.hackerearth.com/24a420r

493 :デフォルトの名無しさん:2019/06/21(金) 08:39:31.90 ID:+3mnNN5K.net
>書くのめんどくさい
え?

494 :デフォルトの名無しさん:2019/06/21(金) 10:11:32.34 ID:UUUS7pJl.net
写経のように一文字一文字手で入力する事が大切なのです。

495 :デフォルトの名無しさん:2019/06/21(金) 13:49:45.38 ID:RHusABfj.net
>>417
再帰、ループ、ループ代わりに使う関数使用禁止だと、
副作用前提なのでファイルやGUI部品(テキストボックスなど)とやり取りするしかない。

Haskell

import System.Exit
import System.Process

-- Windows ver. is String "notloop"(compile source file "notloop.hs)
main = f >> system "./notloop"

f = readFile "count.txt" >>= f'
where
f' "101" = exitWith ExitSuccess
f' n | n == "1\n" = putStr n >> wf n
f' n = putStrLn n >> wf n

wf = writeFile "count.txt".show.(+1).read

ただ、そうなると外と内で相互再帰してるみたいな感覚を覚える。

main = f1 1

f1 101 = return ()
f1 n = print n >> f2 (n + 1)

f2 n = print n >> f1 (n + 1)

496 :デフォルトの名無しさん:2019/06/21(金) 14:10:09.62 ID:aaCZYOrN.net
モナドはダメです

497 :デフォルトの名無しさん:2019/06/21(金) 17:24:35.02 ID:UUUS7pJl.net
#!/bin/sh

echo '1から100まで入力してください。'
read n
echo $n

498 :デフォルトの名無しさん:2019/06/21(金) 17:40:03.54 ID:RHusABfj.net
>>417
屁理屈ではあるが、自分自身を呼び出すのでは無く、
別の関数の引数に渡しているので厳密には再帰では無い。
かと言って相互再帰でも無い。

Haskell

main = f 1

f = fa f

fa _ 101 = return ()
fa fb n = print n >> fb (n + 1)

499 :デフォルトの名無しさん:2019/06/21(金) 17:40:30.13 ID:8+ftJ9Cm.net
>>492
姑息な!(褒め

500 :デフォルトの名無しさん:2019/06/21(金) 17:56:02.69 ID:VCA9CZc/.net
>>498
何にしてもインクリメントしてる時点でループ的な繰り返しを期待しているわけだから
まあ負けだよね(負けでも面白くはできる。為念)

501 :デフォルトの名無しさん:2019/06/21(金) 18:33:41.38 ID:edwbENE2.net
>>500 兄ちゃん、それ言っちゃ終しめーよ。

502 :デフォルトの名無しさん:2019/06/21(金) 19:58:05.85 ID:RHusABfj.net
>>500

>>417のネタバレ見ても6個中5個はインクリメントかデクリメント使ってるんだが。。。

・再帰は使ってない

・関数faも、fa (print.even) 1とすると

1
True(2は偶数なのでTrue)

と表示して終わるだけなので、それ単体ではmapの様なループの代わりの関数では無い

・ループ命令はHaskellにそもそも無い

十分条件は充してる。

503 :デフォルトの名無しさん:2019/06/21(金) 21:26:57.88 ID:uBc0RisT.net
必死だなでも負けは負けだそして何より面白さが皆無なのが致命的

厳密には再帰ではないが実質再帰と同じ効果を狙ってんだろ
それ以前に自身も屁理屈だといっちゃってる時点で、語るに落ちてるよ

504 :デフォルトの名無しさん:2019/06/22(土) 01:32:31.17 ID:zj+KJbMh.net
ここでは何か戦いが行われていたのか?

505 :デフォルトの名無しさん:2019/06/22(土) 01:36:06.87 ID:oaC3C1vm.net
日本語が読めない人との戦いが長らく続いてる

506 :デフォルトの名無しさん:2019/06/22(土) 04:13:24.85 ID:zj+KJbMh.net
>>417

#!/bin/sh

echo '1から100まで'

507 :デフォルトの名無しさん:2019/06/22(土) 05:24:28.98 ID:lmjByctT.net
>>506 正解

508 :デフォルトの名無しさん:2019/06/22(土) 06:01:52.56 ID:YIP5CpHg.net
やられた

509 :デフォルトの名無しさん:2019/06/22(土) 10:21:10.77 ID:lgEn1aKj.net
くだらない

510 :デフォルトの名無しさん:2019/06/22(土) 11:45:18.46 ID:jiW7+Eee.net
くだらない

511 :デフォルトの名無しさん:2019/06/22(土) 12:11:38.82 ID:lmjByctT.net
出題からしてくだらない

512 :デフォルトの名無しさん:2019/06/22(土) 12:27:47.34 ID:Tw+E6LX+.net
お題:プログラミングのお題が与えられるので、それに対する解答を回答するプログラ厶を作りなさい。

513 :デフォルトの名無しさん:2019/06/22(土) 12:42:30.81 ID:jGjp1K63.net
>>512 Perl5

%h = ('プログラミングのお題' => 'それに対する解答');
while (<>) {
 chomp;
 $a = $h{$_};
 print $a ? "$a\n" : "しらんがな…(´・ω・`)ショボーン\n";
}


実行例
$ echo プログラミングのお題 | perl 14_512.pl
それに対する解答
~ $ echo たわけ | perl 14_512.pl
しらんがな…(´・ω・`)ショボーン
~ $ echo たいがいにせいよ | perl 14_512.pl
しらんがな…(´・ω・`)ショボーン
~ $

514 :デフォルトの名無しさん:2019/06/22(土) 13:03:59.60 ID:7MEAdJNr.net
(出題者側、回答者側のいずれに問題があるにせよ)
題意が汲み取れずくだらないお題だと思うのなら
回答せずにスルーすればいいやんというのがここのルール

回答した以上は特に題意を汲み取っていない的外れな回答の場合、
相応の批判にさらされることはある程度覚悟しないと

515 :デフォルトの名無しさん:2019/06/22(土) 13:06:05.30 ID:YIP5CpHg.net
しらんがな…(´・ω・`)ショボーン

516 :蟻人間 :2019/06/22(土) 13:23:12.78 ID:+T90VYrY.net
お題: パソコンの中で猫をひげダンスさせよ。

517 :デフォルトの名無しさん:2019/06/22(土) 14:37:40.61 ID:Kdr0peZW.net
>>514 出題者が質問に答えずに、出題の意味も説明できずに罵声を浴びせるだけと言う態度は問題だと思うけどな。

518 :デフォルトの名無しさん:2019/06/22(土) 15:24:12.28 ID:vPRUCWwQ.net
出題者かどうかわからんのが問題だしトリでもつけとけばいいんちゃう

519 :デフォルトの名無しさん:2019/06/22(土) 16:06:50.97 ID:zj+KJbMh.net
>>516
「ひげダンス」と聞いて調べずすぐにわかる人がここに何人いるかなあ・・・

520 :デフォルトの名無しさん:2019/06/22(土) 16:19:18.36 ID:zj+KJbMh.net
>>507>>508
「このはし渡るべからず」を見た時の一休さんの気持ちが少しわかった。

521 ::2019/06/22(土) 16:47:52.80 ID:ICCmixle.net
お題と回答
>>5 : 6 10 32 36 44
>>9 : 15 34 35 79
>>11 : 48 (78) 138-139 (140) 142 146 151 154
>>19 :
>>50, https://mevius.5ch.net/test/read.cgi/tech/1549160513/920 : 4 85 89
https://mevius.5ch.net/test/read.cgi/tech/1549160513/988 == >>164 : 59 61 167 169 189 192 201 202
>>90 : 95 96
>>99 :
>>200 : 214 219
>>215 : 227
>>220 : 232 240 248 256 268
>>235 : 236 237 238 239 247 249 259 342 353
>>320 : 321 323 327 330 340
>>322 : 325 328 329 331 332 339 341 358 359
>>362 : 367 369 370 371 374 379 380 382 414

522 ::2019/06/22(土) 16:48:10.29 ID:ICCmixle.net
>>368 : 390
>>388 : 487 (488)
>>400 : 401
>>408 :
>>417 : 418 419 421 426 432 433 436 438 442 446 451 452 456 471 474 480 482 489 492 495 498
>>479 :

523 :デフォルトの名無しさん:2019/06/22(土) 22:52:07.59 ID:tXrMFQcm.net
>>417
#pragma INTERRUPT int00

static int i = 0;
void int00(void)
{
if( i <= 100 ){

printf("%d\n", i++ );

}

}

あとは割り込みのテーブルに登録するだけ

524 :デフォルトの名無しさん:2019/06/23(日) 01:15:49.60 ID:udYctx9F.net
>>514
> 回答せずにスルーすればいいやんというのがここのルール

勝手にルールを作るな。

525 :デフォルトの名無しさん:2019/06/23(日) 01:37:51.82 ID:owW1jJs8.net
>>524
別にいいやんか

526 :デフォルトの名無しさん:2019/06/23(日) 03:01:37.82 ID:okSgJcER.net
>>524
基本的なルールも知らん新参者はしばらくロムってろとw

527 :デフォルトの名無しさん:2019/06/23(日) 05:03:48.13 ID:kLh2Gk3t.net
part6くらいからこのスレ見てるけどそんな不文律知らんぞ

528 :デフォルトの名無しさん:2019/06/23(日) 07:40:02.44 ID:b081fL0l.net
>>417
数値に(+1)の代わりに次の値を求めるsuccに変えるだけじゃインクリメントと同じになるので、
文字列でインクリメント相当の処理を実現してみた。
(succ 1 = 2, succ 'a' = 'b', succ False = True)

リストが全部'9'か見るのにand関数使った方が行数減らせるが、
and関数も再帰と見做せるので使わなかった。
('9'と同じ数だけ'0'を用意する処理も、リスト内包表記やlength関数が再帰やループに当たる)

Haskell

main = f "1"

f = fa f
― f n = fa f n を部分適用で見掛け上の変数を減らした

fa _ "101" = return ()
fa fb "9" = putStrLn "9" >> fb "10"
fa fb "99" = putStrLn "99" >> fb "100"
fa fb "100" = putStrLn "100" >> fb "101"
fa fb [x,'9'] = putStrLn [x,'9'] >> fb [succ x,'0']
fa fb [x,y] = putStrLn [x,y] >> fb [x,succ y]
fa fb [y] = putStrLn [y] >> fb [succ y]

529 :デフォルトの名無しさん:2019/06/23(日) 09:44:39.54 ID:Zok1rHX2.net
>>527
でまかせ

530 :デフォルトの名無しさん:2019/06/23(日) 09:54:46.04 ID:YCKftoca.net
>>417
bb=1;echo $bb >/tmp/gg; watch -n 0.5 "bb=\`cat /tmp/gg\`; echo \$bb; if [ \$bb -eq 100 ]; then exit; fi; bb=\$((bb+1)); echo \$bb >/tmp/gg; "

531 :デフォルトの名無しさん:2019/06/23(日) 11:21:05.15 ID:PuD19qMM.net
>>527
では君はいままで自分がわからない問題が出題されたときは
問題にケチをつけてたのかね? そういうのやめてくれないかね
ちなみに僕はPart0のころからいるいわばこのスレの主だ

532 :デフォルトの名無しさん:2019/06/23(日) 11:52:06.27 ID:HeOsQws8.net
>>531 自分で無視しろと言っておいて人の投稿に難癖つけるのも同じだろ。 無視してろよ。

533 :デフォルトの名無しさん:2019/06/23(日) 11:53:42.86 ID:PuD19qMM.net
>>532
同じじゃないよ
何でもかんでも一緒にするんじゃない
ケツを出せお尻ペンペンだ!

534 :デフォルトの名無しさん:2019/06/23(日) 11:59:27.35 ID:PuD19qMM.net
議論を整理しよう

主の意見
・問題がわからなかったら問題が悪いと言うんじゃなくて無視しよう

木偶の坊の回答者の意見
・問題がわからなかったら問題に文句言うんだ <= これがダメ

535 :デフォルトの名無しさん:2019/06/23(日) 12:00:12.53 ID:xc930vdW.net
>>530
ループやな

536 :デフォルトの名無しさん:2019/06/23(日) 12:03:05.58 ID:CwGow/FI.net
>>531
桃白白改めミスターポポ改めピラフ改めピッコロさん、いい加減にしろ

537 :デフォルトの名無しさん:2019/06/23(日) 12:03:58.87 ID:PuD19qMM.net
>>535
あからさまではないからええんやで

538 :デフォルトの名無しさん:2019/06/23(日) 12:05:40.43 ID:xc930vdW.net
いいや、あからさまや

539 :デフォルトの名無しさん:2019/06/23(日) 12:07:42.20 ID:HeOsQws8.net
>>534 問題が解らなければ出題者に聞くのがまず第一だろ。 そして出題者は質問に答える義務がある。

540 :デフォルトの名無しさん:2019/06/23(日) 12:25:37.87 ID:xc930vdW.net
>>537
じゃあこれはあからさま?
var n=1,t=setInterval(()=>{if(n<=100){console.log(n);n++;}else{clearInterval(t);}},0);

541 :デフォルトの名無しさん:2019/06/23(日) 12:31:57.22 ID:HeOsQws8.net
>>540 どうでもいいんじゃない? 自分がこれで良いと思えば良いんだよ。

誰にもあからさまと言う基準は作れない。 プログラムの中のループと言えばそうなるけどな。
ただ、サンプルの中でもイベントを使う方法は載ってたからOK なんじゃないのかな。

もうどうでも良いよ。

542 :デフォルトの名無しさん:2019/06/23(日) 12:41:42.98 ID:PuD19qMM.net
>>538
あからさまではないんや!!

>>540
それもあからさまにループしてない良いコードと言えます

543 :デフォルトの名無しさん:2019/06/23(日) 12:42:42.10 ID:PuD19qMM.net
>>539
義務なんてない
会話の裁量はケースバイケースや

544 :デフォルトの名無しさん:2019/06/23(日) 12:46:10.20 ID:HeOsQws8.net
>>542 何で出題者でもないお前が仕切ってるんだよ。
それともお前が出題者?

545 :デフォルトの名無しさん:2019/06/23(日) 12:49:22.24 ID:PuD19qMM.net
>>544
我スレの神なり

546 :デフォルトの名無しさん:2019/06/23(日) 12:50:21.23 ID:PuD19qMM.net
議長として議論を執行する

547 :デフォルトの名無しさん:2019/06/23(日) 12:53:58.33 ID:uxmsHz5m.net
>>540
あらかさまじゃねーけど>>523の二番煎じはつまらない

548 :デフォルトの名無しさん:2019/06/23(日) 13:07:52.17 ID:xc930vdW.net
>>547
>>540>>480を書き換えたコード、オリジナルは>>451>>523の方が後なんだけど

549 :デフォルトの名無しさん:2019/06/23(日) 13:37:18.23 ID:CFRhe1LU.net
全部のコードをいちいち見てないし、二番煎じということを指摘するには十分だろ

550 :デフォルトの名無しさん:2019/06/23(日) 13:40:05.34 ID:MlHMJpT5.net
>>545
桃白白改めミスターポポ改めピラフ改めピッコロさん、いい加減にしろ

551 :デフォルトの名無しさん:2019/06/23(日) 14:01:14.90 ID:0sdWkE2M.net
ID:PuD19qMM は多分クソみたいな出題してボロカスに叩かれたことがあるんでしょ
叩かれたこと無いって多分レスすると思うけど、きっとあるんでしょ

552 :デフォルトの名無しさん:2019/06/23(日) 14:06:35.85 ID:kLh2Gk3t.net
はい、この議論今日まで〜

553 ::2019/06/23(日) 16:57:08.99 ID:DC/NnmXU.net
>>388,397,409
https://mevius.5ch.net/test/read.cgi/tech/1434079972/59
出題者想定の試算プログラムを公開します。

>>487
とっても早いですね…

554 :デフォルトの名無しさん:2019/06/23(日) 17:32:48.34 ID:JIIa3Mhw.net
>>531

> ちなみに僕はPart0のころからいるいわばこのスレの主だ

明記しとけ
つかスレの主ちがうじゃん

555 :蟻人間 :2019/06/23(日) 17:37:50.61 ID:/bRV2XXv.net
お題: サインカーブを描画せよ。

556 :デフォルトの名無しさん:2019/06/23(日) 20:48:49.59 ID:lpZCfMkq.net
>>555
VB
https://paiza.io/projects/b6D3kpi6vjqOzZl1KAH-Pw

557 ::2019/06/23(日) 21:25:20.51 ID:DC/NnmXU.net
お題
1) √2 を小数点以下 1000 桁算出せよ
2) n ∈Z, 1 <= n <= 100 を与えたとき√n を小数点以下1000 桁算出せよ

558 :デフォルトの名無しさん:2019/06/23(日) 21:28:12.22 ID:+RY3MuQ7.net
>>555 Squeak Smalltalk

(PolygonMorph
shapeFromPen: [:pen |
| factor |
factor := Float pi / 100.
pen place: 0@0.
0 to: 200 do: [:x | pen goto: x @ ((x * factor) sin / factor)]]
color: Color transparent
borderWidth: 2
borderColor: Color red) makeOpen; position: Display center; openInWorld

559 :487:2019/06/23(日) 22:07:30.94 ID:K2cXmmzo.net
>>388 Java
https://ideone.com/9d18x4

>>553
分割荒くしたらもっと早くなったよ
x=13194120658951(=2097151^3-2097150^3)以下に6通り見つからなかったが

560 :デフォルトの名無しさん:2019/06/23(日) 22:46:35.00 ID:+RY3MuQ7.net
>>557 Pharo/Squeak Smalltalk

| sqrt |
sqrt := [:n :m |
| a b nDigits intDigits str |
a := 5 * n. b := 5.
nDigits := m + (intDigits := (n sqrt log + 1) asInteger )+ 1.
[:exit | [
a >= b ifTrue: [a := a - b. b := b + 10] ifFalse: [
b log > nDigits ifTrue: [exit value] ifFalse: [
a := a * 100. b := b // 10 * 100 + (b \\ 10)
]
]
] repeat] valueWithExit.
((str := b asString) first: intDigits), '.', ((str allButFirst: intDigits) first: m)
].

((1 to: 100) collect: [:n | n -> ((sqrt value: n value: 1000) contractTo: 30)]) asStringWithCr

"=> 1->'1.000000000000...0000000000000'
2->'1.414213562373...8229518488472'
3->'1.732050807568...8363954959381'
4->'2.000000000000...0000000000000'
5->'2.236067977499...0407072278724'
6->'2.449489742783...7009535324726'
7->'2.645751311064...4698120004300'
<snip>
97->'9.848857801796...5854929396030'
98->'9.899494936611...7606629419304'
99->'9.949874371066...6373124778344'
100->'10.00000000000...0000000000000' "

561 :デフォルトの名無しさん:2019/06/24(月) 01:26:06.66 ID:oP64UM4n.net
>>553 あのさ、何か言いたいのはわかるけど、リンクくらいまともに貼ろうよ、
カンマで区切られたスレなんて俺のブラウザでは辿れないし、リンク先のページもどれがなんなのかわからないし、自分が勝手に思ってても人には伝わらないよ。
よくそんなのでプログラムの世界で生きてるね。 クビにならないことを祈るよ。

562 :デフォルトの名無しさん:2019/06/24(月) 01:56:20.12 ID:JSF3ka2M.net
>>557
bc

scale=1000
sqrt(2)
for (n = 1; n <= 100; n++) sqrt(n)

563 :デフォルトの名無しさん:2019/06/24(月) 06:28:51.10 ID:PKUWjPMB.net
>>555 Lua
prrint("∿")

564 :デフォルトの名無しさん:2019/06/24(月) 14:09:18.13 ID:BXNZhLwW.net
>>555 Python sympy

from sympy import Symbol, sin , plot

x = Symbol('x')
plot(sin(x),(x,0,10))

565 :デフォルトの名無しさん:2019/06/24(月) 14:11:03.35 ID:BXNZhLwW.net
>>555 Python numpy , matplotlib

import numpy as np
import matplotlib.pyplot as plt

x = np.linspace(0, 10, 100)
y = np.sin(x)
plt.plot(x, y)

566 :デフォルトの名無しさん:2019/06/24(月) 16:09:05.86 ID:BXNZhLwW.net
>>564 出力画像
https://imgur.com/D5WDUTF

567 :デフォルトの名無しさん:2019/06/24(月) 16:10:01.37 ID:BXNZhLwW.net
こっちの方が良いね
https://i.imgur.com/D5WDUTF.jpg

568 :デフォルトの名無しさん:2019/06/24(月) 17:22:50.00 ID:y3nBEW/D.net
https://light.dotup.org/uploda/light.dotup.org596741.png
>>555
C++で書いてみたよ。
画像生成は自作コード。
面クラス作ってwindows bitmap 用に書き込みした。
趣味で色キチにしてある。

569 :デフォルトの名無しさん:2019/06/24(月) 17:48:28.72 ID:DDT4XoH6.net
>>555
ChromeのURLバーに叩き込む
javascript:document.innerHTML='<svg><path d="M0 50 C 40 10 60 10 100 50 C 140 90 160 90 200 50 Z">'

スクショ
https://i.imgur.com/4jf1NdV.png

570 :蟻人間 :2019/06/24(月) 17:52:22.52 ID:eqHVB1zL.net
だんだん難しくなるよ。

お題: 8の字曲線を描画せよ。

571 :デフォルトの名無しさん:2019/06/24(月) 18:22:01.03 ID:lp2pR5Nh.net
>>570 そんな似たような問題飽きるよ。

572 :デフォルトの名無しさん:2019/06/24(月) 18:24:31.37 ID:DDT4XoH6.net
console.log('8')

573 :蟻人間 :2019/06/24(月) 18:33:31.05 ID:oK/rIQPy.net
お題: ベルトコンベヤで左から右へチーズケーキが不定期に断続的に供給される。Aさん、Bさん、Cさんは右から順番にチーズケーキを食べる。
ただし、AさんはBさんより食べる速度が早い。BさんはCさんより食べる速度が早い。お腹一杯になるとしばらく食べられない。
これをマルチスレッドで再現せよ。

574 :デフォルトの名無しさん:2019/06/24(月) 18:40:26.97 ID:7jtxfSjt.net
>>570 Squeak Smalltalk

(PolygonMorph
shapeFromPen: [:pen |
| lemniscate factor |
lemniscate := [:θ | θ cos / (1 + θ sin squared) @ (θ sin * θ cos / (1 + θ sin squared))].
factor := 100.
pen up.
0 to: 360 do: [:deg | pen goto: (lemniscate value: deg degreesToRadians) * factor; down]]
color: Color transparent
borderWidth: 2
borderColor: Color red) position: Display center; openInWorld

"=> https://i.imgur.com/CiUeI8I.png "

575 :蟻人間 :2019/06/24(月) 19:18:23.37 ID:oK/rIQPy.net
お題: あなたは宇宙時代の靴屋さんだ。宇宙人の足底の形状データが二次元多角形ベクトルデータとして与えられる。多角形が円に収まるように円形の靴の底を設計せよ。

576 ::2019/06/24(月) 19:34:41.44 ID:SbfV+wvC.net
>>561
>自分が勝手に思ってても人には伝わらないよ。

ほう、私の記述が不十分というわけですか?
しかし、

>カンマで区切られたスレなんて俺のブラウザでは辿れないし

これは特に「アンカー」というのですよ。「アンカー」、この単語をご存知なかったのですか?

>カンマで区切られたスレなんて俺のブラウザでは辿れないし

私の専用ブラウザでは十分にたどれますよ、おま環でしょう、おま環、おま環(爆笑)

>リンク先のページもどれがなんなのかわからないし、

QZ 専用スレのことですか
そもそも専用スレを持っているということ自体が特筆に値するでしょう
あなたも専用スレを作ってみたらいい、一発で削除されますよ

それに、そこでは私は、私が何を目的に何を書いたのか一目瞭然ですね
必要にして十分とはまさにこのことでしょう
過去ログはお布施をすれば自由に取り込めます、おま環、おま環(爆笑)

>よくそんなのでプログラムの世界で生きてるね。 クビにならないことを祈るよ。

あなたが5ch で不自由な制約のもとにあるのはよくわかりました、ひとことでいってお布施が足りない、まずはお布施をすることですね
私は職業プログラマでないので、すでにプログラムの世界ではクビになっています、ついでに現在の職業もクビになりそうです…いや、ラプラス変換の部分分数展開の計算が合わなくて苦労しているのですよ
部分分数展開については、近いうちにこのスレのお題にしますよ、乞うご期待!

577 :デフォルトの名無しさん:2019/06/24(月) 19:35:12.92 ID:XuRZTEew.net
>>570 Python sympy

from sympy import symbols , sin
from sympy.plotting import plot_parametric

t = symbols('t')
x=sin(t); y=sin(2*t)

p = plot_parametric(x, y, autoscale=True, title='8 Graph', show=False)
p.show()

https://i.imgur.com/ACefMnx.jpg

578 :蟻人間 :2019/06/24(月) 19:35:53.46 ID:oK/rIQPy.net
ヒント: まずはど真ん中を求めよう。

579 :蟻人間 :2019/06/24(月) 19:53:04.45 ID:oK/rIQPy.net
お題: 辞書のように頭文字を何文字か入力すると該当する単語の意味を調べられるようなシステムのことを「辞書型エキスパートシステム」と言います。
あなたの得意分野に関する辞書型エキスパートシステムを作りなさい。
例) HTML辞書システム

580 :デフォルトの名無しさん:2019/06/24(月) 19:55:50.31 ID:y3nBEW/D.net
し、式がわからねー。算数の限界。。。 グフッ。

581 :デフォルトの名無しさん:2019/06/24(月) 20:04:50.44 ID:rEOVCAEx.net
>>577
お?リサージュ使ったのか、やるなお主。

582 :蟻人間 :2019/06/24(月) 20:10:50.04 ID:eqHVB1zL.net
面白いシューティングゲーム作るなら、数式とグラフの知識は必須だからな。
x→yという対応によるx-yグラフがあれば、
時刻t→(x, y)という対応によるグラフもある。多分高校で習うから安心しろ。

583 :デフォルトの名無しさん:2019/06/24(月) 20:13:33.00 ID:BXNZhLwW.net
>>576 やはり思った通りの人物像だったな。 自分の勝手な思い込みで人に伝わると思ってる。
そりゃどんな所に勤めても長続きしないだろうな。 相手の事を思いながら会話しないとダメなんだよ。

自分は何も悪くない、悪いのは相手だと言うのが最大の欠点。 多分病気だと思うから一度病院に行ってみたら?

ラプラス変換なんて持ち出せば相手は黙るだろうとか思ってる馬鹿さ加減。
あんな簡単な物で躓いてるのは多分高校の数学で落ちこぼれてたんだろうな。 いや中学の算数が解っていないのかも。
計算を楽にするためにラプラス変換があるのに。

584 :デフォルトの名無しさん:2019/06/24(月) 20:19:29.47 ID:fImqzI0I.net
トリップ付けてる人にまともな人なんているわけがないじゃないか

585 ::2019/06/24(月) 20:37:30.25 ID:SbfV+wvC.net
>>583
>多分病気だと思うから一度病院に行ってみたら?
すでにして飲んでるお薬は
https://en.wikipedia.org/wiki/Chlorpromazine#/media/File:Thorazine_advert.jpg

>計算を楽にするためにラプラス変換があるのに。

浅はかな理解ですね、計算のためにラプラス変換?
馬鹿もここまでくると気の毒に思えてきます
そんな人のために次のページが構築されつつあります、誰が書いてるのかは私はしらないけど
https://ja.wikibooks.org/wiki/%E5%88%B6%E5%BE%A1%E3%81%A8%E6%8C%AF%E5%8B%95%E3%81%AE%E6%95%B0%E5%AD%A6/%E7%AC%AC%E4%B8%80%E9%A1%9E

586 :デフォルトの名無しさん:2019/06/24(月) 20:40:31.12 ID:y3nBEW/D.net
https://light.dotup.org/uploda/light.dotup.org596781.png
ギリギリ8?これ、屁理屈だわー。

587 :蟻人間 :2019/06/24(月) 20:43:09.60 ID:eqHVB1zL.net
>>586
創意工夫はあってよし。一応合格。

588 :デフォルトの名無しさん:2019/06/24(月) 20:55:10.85 ID:y3nBEW/D.net
うえーい。

589 :デフォルトの名無しさん:2019/06/24(月) 21:01:05.67 ID:y3nBEW/D.net
あ、どっとうp死んだ。。。

590 :デフォルトの名無しさん:2019/06/24(月) 21:57:47.94 ID:BXNZhLwW.net
>>585 悪かった、本物とはさすがに思わなかった。 お大事に。
むしろこんな所にも出入りしない方が良いと思うけどな。

所で今 5ch サーバーがおかしいね。

591 ::2019/06/24(月) 22:04:21.59 ID:SbfV+wvC.net
>>590
浅はかな理解ですね、そもそもここに出入りしている時点で重大な問題を孕んでいることに気がつかないとでもいうのですか?

592 :デフォルトの名無しさん:2019/06/24(月) 22:30:59.92 ID:xRw0rPof.net
あーQZはまともに相手しないで放置すればいいよ
こいつ複素解析も知らない癖に留数定理がどうのこうのとか騙ってて
突っ込まれると「全然知りません」と開き直るような奴だからな
それに日本人じゃないらしい

593 :デフォルトの名無しさん:2019/06/24(月) 22:32:09.63 ID:xRw0rPof.net
おそらくこいつはラプラス変換も知らない馬鹿だ

594 :デフォルトの名無しさん:2019/06/24(月) 22:53:08.06 ID:gDOJvwaR.net
>>592
懐かしいな
以前、複素数にまで拡張された指数関数が一般に多価関数になるということが解らなくて
わざわざ他の板まで行って醜態を晒してたなこいつ

595 ::2019/06/24(月) 23:24:54.85 ID:SbfV+wvC.net
>>592
それは記憶違いでは?
当時「計算練習として複素関数論をやればいいのでは?」という意見に対して「留数定理は忘れた」と発言しただけですよ、実際もう忘れましたし、それにしても昔のことをよく覚えていますよね、この執念はいったいなんなんでしょうか?

>>594
このスレのお題「e^z = -1 たる z ∈C を求めよ」にてずいぶんと勉強させていただきましたが、それもこのスレだけの話で、わざわざ他のスレや他の板に行った覚えはありませんね、証拠を出せますか?

>>593
ラプラス変換の教科書に当時メモ書きした式変形ですら、もう自分でも理解できなくなっているのは認めましょう…

596 :デフォルトの名無しさん:2019/06/24(月) 23:29:01.25 ID:gDOJvwaR.net
>>595
確か数学板で聞いてただろお前
そのリンクをこのスレに貼ってたはずだから気になるなら自分で調べろ

597 ::2019/06/24(月) 23:46:51.79 ID:SbfV+wvC.net
>>596
数学板でまともに質問したのは「頂を踏む」の一節
https://detail.chiebukuro.yahoo.co.jp/qa/question_detail/q13170327928
だけですよ、数学板に書かないわけではありませんけれどもね

598 :デフォルトの名無しさん:2019/06/24(月) 23:54:27.14 ID:gDOJvwaR.net
知恵袋やってて草
後で通報しとくわ

599 :デフォルトの名無しさん:2019/06/25(火) 00:17:49.29 ID:q9Zf4joS.net
>>555
echo '〜'

600 :デフォルトの名無しさん:2019/06/25(火) 12:16:33.88 ID:/8kFlQVi.net
お題
7月中の、3人の空いている日のリストがあります。
3人の内、2人以上が空いている日と、名前を求めよ

A
2019/07/05
2019/07/10
2019/07/15
2019/07/20

B
2019/07/08
2019/07/10
2019/07/20

C
2019/07/15
2019/07/20
2019/07/25

601 :デフォルトの名無しさん:2019/06/25(火) 12:21:21.76 ID:cOq4SW0C.net
日付と名前の区別ってどうすんの?

602 :600:2019/06/25(火) 13:41:11.08 ID:/8kFlQVi.net
書式は、どうでも良い。
こんな感じで

2019/07/10 A B
2019/07/10, A, B

603 :デフォルトの名無しさん:2019/06/25(火) 15:28:07.62 ID:AwR7wU0d.net
Hash使うとすごく簡単にできると思うが、Hashへの値のセットをプログラム中に書こうとすると、それがそのまま答えになってしまいそうな予感w

604 :デフォルトの名無しさん:2019/06/25(火) 16:12:29.73 ID:i92jGjxO.net
>>573 Python3.6 ideonのpython は3.5で動かないが、下の方に出力サンプルを張り付けてあるからそれを見てください。
https://ideone.com/JqcYMA

出力サンプルを少しだけここに張り付け
開店時間= 0.0
Aの取皿開始  speed=0.7 kosu=0 時刻は 0.0
Bの取皿開始  speed=1.0 kosu=0 時刻は 0.01
Cの取皿開始  speed=1.4 kosu=0 時刻は 0.02
★★マグロ が出来た時刻=0.03 作成間隔 t=0.30
Cがマグロを食った 作成時刻=0.03
★★カッパ が出来た時刻=0.33 作成間隔 t=0.10
Aがカッパを食った 作成時刻=0.33
★★ウニ が出来た時刻=0.43 作成間隔 t=0.10
★★上トロ が出来た時刻=0.53 作成間隔 t=0.10
Cがウニを食った 作成時刻=0.43
Cが満腹 休むよ 時刻=0.63
Aが上トロを食った 作成時刻=0.53
★★エンガワ が出来た時刻=0.64 作成間隔 t=0.10
★★マグロ が出来た時刻=0.74 作成間隔 t=0.10
Bがエンガワを食った 作成時刻=0.64
Bがマグロを食った 作成時刻=0.74
★★マグロ が出来た時刻=0.74 作成間隔 t=0.10
Bがエンガワを食った 作成時刻=0.64Bがマグロを食った 作成時刻=0.74
★★カッパ が出来た時刻=0.84 作成間隔 t=0.10
★★ウニ が出来た時刻=0.94 作成間隔 t=0.10
★★上トロ が出来た時刻=1.04 作成間隔 t=0.10
Aの取皿開始  speed=0.7 kosu=1 時刻は 1.11
Aがカッパを食った 作成時刻=0.84

★★エンガワ

605 :デフォルトの名無しさん:2019/06/25(火) 16:57:19.63 ID:/YrhpcLJ.net
>>600 Pharo/Squeak Smalltalk

| data dic |

data := {
#A -> #('2019/07/05' '2019/07/10' '2019/07/15' '2019/07/20').
#B -> #('2019/07/08' '2019/07/10' '2019/07/20').
#C -> #('2019/07/15' '2019/07/20' '2019/07/25')
}.

dic := Dictionary new.
data do: [:assoc |
assoc value do: [:date | (dic at: date ifAbsentPut: [OrderedCollection new]) add: assoc key].
].
dic associations sort
select: [:assoc | assoc value size >= 2]
thenCollect: [:assoc | assoc value: assoc value asArray]


"=> {'2019/07/10'->#(#A #B) . '2019/07/15'->#(#A #C) . '2019/07/20'->#(#A #B #C)} "

606 :蟻人間 :2019/06/25(火) 17:04:02.93 ID:CrMrKXln.net
>>575
テストデータ(各自で用意すること): 長方形、星形、ハート形

607 :デフォルトの名無しさん:2019/06/25(火) 17:27:11.68 ID:Y04/VZ6Y.net
#!/usr/bin/env perl
use List::MoreUtils;
@A = qw( 2019/07/05 2019/07/10 2019/07/15 2019/07/20);
%A = map {$_, 1} @A;

@B = qw( 2019/07/08 2019/07/10 2019/07/20);
%B = map {$_, 1} @B;

@C = qw( 2019/07/15 2019/07/20 2019/07/25);
%C = map {$_, 1} @C;

SEARCH:
for ( List::MoreUtils::uniq (@A, @B, @C) ){
if ($A{$_} && $B{$_} && $C{$_}){
print "everyone is free at $_\n";
next SEARCH;
}
if ($A{$_} && $B{$_} ){
print "A and B is free at $_\n";
}
if ($B{$_} && $C{$_}){
print "B and C is free at $_\n";
}
if ($A{$_} && $C{$_}){
print "A and C is free at $_\n";
}
}

608 :デフォルトの名無しさん:2019/06/25(火) 17:29:23.86 ID:Y04/VZ6Y.net
>>605
やはり辞書型がくみこまれてる言語は綺麗だね
数が増えたときでも問題ないかんじ

609 :デフォルトの名無しさん:2019/06/25(火) 17:30:16.52 ID:cOq4SW0C.net
ハート型って多角形だったのかー
こらノーベル賞ものの発見だな!

610 :デフォルトの名無しさん:2019/06/25(火) 17:30:27.94 ID:Y04/VZ6Y.net
タイポ
辞書型ではなく 集合型だ

611 :デフォルトの名無しさん:2019/06/25(火) 18:13:23.94 ID:Y04/VZ6Y.net
>>600
>607はあまりにも酷かったので、修正
#!/usr/bin/env perl
use List::MoreUtils;
@A = qw( 2019/07/05 2019/07/10 2019/07/15 2019/07/20 );
%A = map {$_, A} @A;

@B = qw( 2019/07/08 2019/07/10 2019/07/20 );
%B = map {$_, B} @B;

@C = qw( 2019/07/15 2019/07/20 2019/07/25 );
%C = map {$_, C} @C;

for $date ( List::MoreUtils::uniq (@A, @B, @C) ){
for $someone_is_free_at (\%A, \%B, \%C){
push(@free_men, $$someone_is_free_at{$date}) if $$someone_is_free_at{$date};
}
print "@free_men are free at $date\n" if (@free_men > 1);
@free_men = ();
}


出力
A B are free at 2019/07/10
A C are free at 2019/07/15
A B C are free at 2019/07/20

612 :蟻人間 :2019/06/25(火) 18:43:25.69 ID:CrMrKXln.net
ユーチューブのおかげで誰でも動画を投稿してお金を稼げる時代になった。
自分のアイデアをvisualizeし、面白い動画にして投稿すれば、収益化できる。
プログラミングをマルチメディアやGUIに対応させることは当たり前。
あなたもテック系ユーチューバーになろう。

動画は変化する静止画の連続であり、スクリーンショットで一枚一枚画像を撮ってテキトーなツールでつなげれば動画に出来る。

613 :デフォルトの名無しさん:2019/06/25(火) 18:48:37.74 ID:UDO8hU+H.net
>>600
https://ideone.com/wTvm0s
C++。オレ、あほになってるなぁ。それとDataTime欲しい。

614 :デフォルトの名無しさん:2019/06/25(火) 18:50:16.61 ID:UDO8hU+H.net
>>612
手頃で簡単な動画コンテナ知らない?
AVIのフォーマット調べたらRIFF吐かないといけなくて、そこからかよ!って感じだった。

615 :蟻人間 :2019/06/25(火) 18:52:08.76 ID:CrMrKXln.net
お題: あみだくじを解け。n本の縦線を上下に平行に引き、上から順番に二つの縦線を結ぶ形でいくつかm本の横線を引く。下側の縦線の端の一つにゴールを設定するとき、あみだくじの
ルールに従ってゴールに到達する縦線の端のスタート地点を求めよ。

616 :蟻人間 :2019/06/25(火) 18:58:25.64 ID:CrMrKXln.net
>>614
連番でビットマップ吐けばフリーソフトでつなげられるだろよ。

617 :デフォルトの名無しさん:2019/06/25(火) 19:02:19.01 ID:UDO8hU+H.net
>>616
そうなるか。ふむふむ。

618 :デフォルトの名無しさん:2019/06/25(火) 19:17:59.99 ID:4Msitu63.net
>>616 おいこら、出題ペースが早すぎるぞ。解答もほとんど出ていない状態で次のなんて出すなよ。

619 :デフォルトの名無しさん:2019/06/25(火) 19:51:46.12 ID:/33lsov2.net
>>611
日付に対する前置詞はonだぞ

620 :デフォルトの名無しさん:2019/06/25(火) 19:56:07.32 ID:Y04/VZ6Y.net
>>619
thanks

621 :蟻人間 :2019/06/25(火) 20:43:10.45 ID:ayyd1Kg3.net
面白い動画たーくさん作って早く労働者階級を卒業しよっぜ。

622 :デフォルトの名無しさん:2019/06/25(火) 23:32:34.03 ID:hlLFLgMF.net
>>573 Pharo Smalltalk

http://ws.stfx.eu/FWYMKVTGYK60

623 :蟻人間 :2019/06/25(火) 23:47:01.47 ID:ayyd1Kg3.net
多角形の問題は、最小包含円問題というらしい。

624 :デフォルトの名無しさん:2019/06/26(水) 01:05:18.27 ID:fhfivptN.net
>>575 >>623 それって、>>11 の入口問題だな。 俺も>>11 関連で知ったが、最小包含円って言葉は、このスレで何度か出てきてるぞ、
具体的な宇宙人の足跡データが、>>11 として最小包含円を求めよとした方がより具体的だな。 いくつか答えが出てるけど。

具体的なデーターを示さないと答えがバラバラになるぞ。 蟻人間の問題ってあやふやなのが多いな。

625 :デフォルトの名無しさん:2019/06/26(水) 01:11:38.67 ID:QUl0UMlC.net
>>600 Perl5

@a = map{sprintf"2019/07/%02d",$_} 1..31;
$h{$_}{A}=1 for qw{2019/07/05 2019/07/10 2019/07/15 2019/07/20};
$h{$_}{B}=1 for qw{2019/07/08 2019/07/10 2019/07/20};
$h{$_}{C}=1 for qw{2019/07/15 2019/07/20 2019/07/25};
@b = grep{1<keys %{$h{$_}}} @a;
print "$_ @{[keys %h{$_}]}\n" for @b;


実行結果
~ $ perl 14_600.pl
keys on reference is experimental at 14_600.pl line 6.
2019/07/10 B A
2019/07/15 C A
2019/07/20 B A C

626 :蟻人間 :2019/06/26(水) 01:12:45.72 ID:FZmH/DTQ.net
>>615
n=3
m=5
として横線は
(0, 1)
(1, 2)
(1, 2)
(0, 1)
(1, 2)
としよう。

627 :デフォルトの名無しさん:2019/06/26(水) 01:16:52.13 ID:QUl0UMlC.net
>>625 スマソ「keys on reference is experimental at 14_600.pl line 6.」が出ちゃってた…orz

>>600 Perl5 チョット修正
@a = map{sprintf"2019/07/%02d",$_} 1..31;
$h{$_}{A}=1 for qw{2019/07/05 2019/07/10 2019/07/15 2019/07/20};
$h{$_}{B}=1 for qw{2019/07/08 2019/07/10 2019/07/20};
$h{$_}{C}=1 for qw{2019/07/15 2019/07/20 2019/07/25};
@b = grep{1<keys %{$h{$_}}} @a;
print "$_ @{[keys %{$h{$_}}]}\n" for @b;

実行結果
~ $ perl 14_600.pl
2019/07/10 B A
2019/07/15 A C
2019/07/20 B C A

628 :蟻人間 :2019/06/26(水) 04:24:04.79 ID:FZmH/DTQ.net
日本とゐう国は労使から朽ちていつたんだなあ。

629 :デフォルトの名無しさん:2019/06/26(水) 04:36:53.79 ID:wPd2Gy/W.net
>>628
旧仮名なら「日本と云(い)ふ」だろボケカス

630 :デフォルトの名無しさん:2019/06/26(水) 08:13:01.09 ID:Qt7BED0r.net
>>555 Lua
prrint("ん")

631 :デフォルトの名無しさん:2019/06/26(水) 09:27:43.17 ID:4ftm39hn.net
>>555
さて、そろそろわしの出番のようぢゃな。


#!/bin/sh

echo 'サインカーブ'

632 :デフォルトの名無しさん:2019/06/26(水) 10:05:25.43 ID:I0iq5RkX.net
整数が複数与えられて、そのうちの5つの積が最大になるものってどうやって選べばいいの?
絶対数でソートしても、負数が奇数個だとマイナスだし頭がこんがらがる

633 :デフォルトの名無しさん:2019/06/26(水) 10:27:17.99 ID:qQlb55ju.net
正数の大きい方から5個
正数の大きい方から3個と負数の絶対数の大きい方から2個
正数の大きい方から1個と負数の絶対数の大きい方から4個
で比較すれば?

634 :デフォルトの名無しさん:2019/06/26(水) 10:35:24.88 ID:qQlb55ju.net
別に正数とか負数とか気にしないでも良いか
ソートして、上から5個 上から3個と下から2個 上から1個と下から4個 の中で最大のものを選べば

635 :デフォルトの名無しさん:2019/06/26(水) 12:11:39.42 ID:4ftm39hn.net
>>634
全て負の値の場合は?
それと気になるのが0。

636 :デフォルトの名無しさん:2019/06/26(水) 12:18:02.87 ID:Hr9hv0Xe.net
古典的スタートレックゲーム
言語はなんでもよし

637 :デフォルトの名無しさん:2019/06/26(水) 12:52:21.84 ID:4t4MRNDi.net
>>632
思考停止して全パターン出して最大値を取る。
あえて5個以下だとエラー。
対策するなら関数fで長さが5個以下か判定すれば良い。

昔、似た様な問題でリスト内包表記と再帰を組み合わせて、
スマートな方法を誰か書いてたの見たけど忘れた。

Haskell

main = f [(-1),4,(-2),1,3,2]

f xs = maximum [product [a,b,c,d,e]|
a <- xs, b <- xs, c <- xs, d <- xs, e <- xs,
a /= b, a /= c, a /= d, a /= e, b /= c, b/= d, b /= e, c /= d, c /= e, d /= e]

638 :デフォルトの名無しさん:2019/06/26(水) 15:36:37.02 ID:GwE3QISY.net
>>637 おいおい、いくつの中から5個取り出すかわからないんだぞ。 100000個の中から5個取り出すと結構な時間がかかるだろ。
どんだけの組み合わせになるんだよ。

639 :デフォルトの名無しさん:2019/06/26(水) 15:53:36.43 ID:4t4MRNDi.net
>>638
だから思考停止っって書いてるんよ^^;

640 :デフォルトの名無しさん:2019/06/26(水) 16:01:02.80 ID:4t4MRNDi.net
>>632

Listモジュールに関数あった。。。

Haskell

import Data.List

main = print $ f [(-1),4,(-2),1,3,2]

f = maximum.map product.permutations

641 :デフォルトの名無しさん:2019/06/26(水) 18:21:48.58 ID:D6IEM3tk.net
全部負なら、必ず答えも負になるんだから選ぶのは上から5個で良くないか
つまり634で合ってると思う
0も問題無いな、どこにあっても網羅されてる

642 :デフォルトの名無しさん:2019/06/27(木) 01:55:36.37 ID:sxRhjDp7.net
>>600
perl5 ワンライナー

perl -ne 'if(/^(.*?),(.*)$/){$d{$2}{$1}=1}END{for(sort keys%d){if(keys%{$d{$_}}>=2){print"$_ ".join(",",sort keys%{$d{$_}})."\n"}}}'

入力

A,2019/07/05
A,2019/07/10
A,2019/07/15
A,2019/07/20
B,2019/07/08
B,2019/07/10
B,2019/07/20
C,2019/07/15
C,2019/07/20
C,2019/07/25

出力

2019/07/10 A,B
2019/07/15 A,C
2019/07/20 A,B,C

643 :デフォルトの名無しさん:2019/06/27(木) 07:16:25.32 ID:ken8tLFo.net
>>635
oh...全て負の場合は数値が大きい方(絶対値が小さい方)から5個だな

644 :デフォルトの名無しさん:2019/06/27(木) 07:17:36.65 ID:ken8tLFo.net
と、それは上から5個か…寝起き死んでるww

645 :デフォルトの名無しさん:2019/06/27(木) 10:12:29.88 ID:kVdr/MgG.net
>>637
試した限りじゃ上手く動いてる。
もっとスマートな書き方出来ないものか。。。

Haskell

import Data.List

main = (print.f) [9,(-5),3,2,1,8,(-4)]

f xs |(odd.length) b && (length.filter (<0)) xs > 1 =
promax
((map snd.f') a ++ (map snd.take (5 - (length.f') a)) b')
((map snd.take 5.abslst) xs)
where
a = (filter ((>=0).snd).take 5.abslst) xs
a' = (filter ((>=0).snd).abslst) xs
b = (filter ((< 0).snd).take 5.abslst) xs
b' = (filter ((< 0).snd).abslst) xs

f' xs |length a > length b = init xs
f' _ = (take (5 - (length.init) b)) a'
f xs = promax ((take 5.reverse.sort) xs) ((map snd.take 5.abslst) xs)

promax xs ys |product xs > product ys = xs
promax _ ys = ys

abslst xs = reverse.sort $ zip (map abs xs) xs

646 :デフォルトの名無しさん:2019/06/27(木) 10:13:36.13 ID:kVdr/MgG.net
promax xs ys |product xs > product ys = xs
promax _ ys = ys

abslst xs = reverse.sort $ zip (map abs xs) xs

647 :蟻人間 :2019/06/27(木) 16:22:58.68 ID:nAZ+iPIM.net
だれかあみだくじ解けない?

648 :デフォルトの名無しさん:2019/06/27(木) 16:37:32.78 ID:cEwto4HN.net
I can, but I won't.

649 :デフォルトの名無しさん:2019/06/27(木) 17:17:24.80 ID:fA/gCr42.net
>>632 Sqeueak Smalltalk

| data stream selection set numNegs |
data := #(9 -5 -3 2 1 8 -4).
stream := ((data copyWithout: 0) sortBy: #abs descending) readStream.
set := Set with: (selection := (stream next: 5) asArray).
numNegs := selection count: #negative.
(numNegs > 0 and: [numNegs odd]) ifTrue: [
| nextNeg nextPos lastPosIdx lastNegIdx |
nextNeg := nextPos := nil.
lastPosIdx := selection findLast: #positive.
lastNegIdx := selection findLast: #negative.
[(nextNeg isNil or: [nextPos isNil]) and: [stream atEnd not]] whileTrue: [
| next |
next := stream next.
(lastPosIdx > 0 and: [nextNeg isNil] and: [next negative])
ifTrue: [set add: (selection copyWithoutIndex: lastPosIdx), {nextNeg := next}].
(lastNegIdx > 0 and: [nextPos isNil] and: [next positive])
ifTrue: [set add: (selection copyWithoutIndex: lastNegIdx), {nextPos :=next}]
].
].
set detectMax: [:xs | xs reduce: #*]

"=> #(9 8 -5 -4 2) "


Pharo Smalltalk版 → http://ws.stfx.eu/OK6PHG96QEY8

650 :デフォルトの名無しさん:2019/06/28(金) 01:49:16.31 ID:Vk0oU0Nl.net
>>632 haskell
import Data.List
f xs = if length xs < 5 then undefined else (maximumBy(\ x y ->compare(product x)(product y))$zipWith(++)(reverse.inits.(take 5).reverse.sort$xs)(inits.(take 5).sort$xs))

f [9,-5,-3,2,1,8,-4]
-- > [9,8,2,-5,-4]

651 :デフォルトの名無しさん:2019/06/29(土) 05:03:25.69 ID:BpIUWIWl.net
お題: Hello, World!が入力されるのでHelloとWorldを入れ替えて表示せよ

652 :デフォルトの名無しさん:2019/06/29(土) 07:48:16.22 ID:FqBWYLWj.net
あまりにも簡単すぎる問題は控えて欲しいな、たまになら休憩として良いけど。

653 :デフォルトの名無しさん:2019/06/29(土) 11:18:10.70 ID:HRfvRfYw.net
printed("World, Hello!");

654 :デフォルトの名無しさん:2019/06/29(土) 11:36:54.32 ID:t9YicpKG.net
>>651 Perl5 簡単だけれども、解いてみた

<>=~/(\w+)(\W+)(\w+)(\W+)/;
print "$3$2$1$4\n";

実行結果
~ $ echo 'Hello, World!' | perl 14_651.pl
World, Hello!

※英単語部は任意です

655 :デフォルトの名無しさん:2019/06/29(土) 13:00:42.80 ID:Rvf+oTMW.net
お題:全単射を満足する最小桁数を求める
任意の整数域(-10000..10000とか)を引数とする単調増加/減少関数f(x)に対して、
その計算結果を有効数字n桁で丸めたものをy=round(f(x), n)とする。
xとyの関係が全単射になる(異なるxに対して、同じyにならない事)
最小のnを求めよ。
ttps://ja.wikipedia.org/wiki/%E5%85%A8%E5%8D%98%E5%B0%84

xの値域及びf(x)は回答者が適切と思われるものでよい。

656 :デフォルトの名無しさん:2019/06/29(土) 13:27:37.67 ID:HRfvRfYw.net
fは2^N → Rでいいの?
2^Nは自然数の冪集合ね
てか括弧内で全射が無視されてんのが謎

657 :デフォルトの名無しさん:2019/06/29(土) 14:03:41.17 ID:YzN8MsSb.net
echo Hello, World! | perl -pe 's/ (\w+) , \N{SPACE} (\w+) ! /$2, $1!/x'
World, Hello!

658 :デフォルトの名無しさん:2019/06/29(土) 14:38:46.06 ID:LAXJlpSi.net
イプシロン間際。

659 :655:2019/06/29(土) 14:50:05.50 ID:Rvf+oTMW.net
>>656
f(x)=x/1e4+42 但し xは整数で x∈[-10000, 10000]
とかの、もっと単純なヤツです(この例だとn=6)。

f(x)=10^x
とかだと、n=1なのは自明だし、
f(x)=c 但し cは任意の実定数
とかだと解は存在しないので、これらは除外して下さい。

660 :デフォルトの名無しさん:2019/06/29(土) 14:51:20.55 ID:HRfvRfYw.net
>>659
任意の整数域を定義域とする関数に、なんで整数渡してんの?

661 :デフォルトの名無しさん:2019/06/29(土) 15:37:47.69 ID:mF/+Te8R.net
お題
与えられた画像ファイルを
適当なサイズに縮小・拡大
しモノクローム画像に変換
しアスキーアートに変換す


662 :デフォルトの名無しさん:2019/06/29(土) 16:00:34.20 ID:S1v50lfX.net
ss = "Hello, World!".split(', ')
print( f'{ss[1]}, {ss[0]}' )

# World!, Hello

663 :デフォルトの名無しさん:2019/06/29(土) 16:06:20.54 ID:YzN8MsSb.net
split のたぐいだと ! の位置がおかしなことになるんだよな

664 :デフォルトの名無しさん:2019/06/29(土) 16:25:44.25 ID:S1v50lfX.net
>>663 おかしいかどうか知らんよ。 問題が細かな事を言っていないんだから。

665 :デフォルトの名無しさん:2019/06/29(土) 16:30:35.89 ID:S1v50lfX.net
>>664 悪い悪い、問題を読み直したら、単語の入れ替えだけで記号の位置はそのままというような感じだな。

666 :デフォルトの名無しさん:2019/06/29(土) 16:31:18.75 ID:/qzOxQgj.net
>>664
はあ?
> HelloとWorldを入れ替えて表示せよ
余計なことしちゃだめだろ

667 ::2019/06/29(土) 16:36:26.20 ID:+oJyIv4Z.net
お題と回答
>>5 : 6 10 32 36 44
>>9 : 15 34 35 79
>>11=>>575 : 48 (78) 138-139 (140) 142 146 151 154
>>19 :
>>50, https://mevius.5ch.net/test/read.cgi/tech/1549160513/920 : 4 85 89
https://mevius.5ch.net/test/read.cgi/tech/1549160513/988 == >>164 : 59 61 167 169 189 192 201 202
>>90 : 95 96
>>99 :
>>200 : 214 219
>>215 : 227
>>220 : 232 240 248 256 268
>>235 : 236 237 238 239 247 249 259 342 353
>>320 : 321 323 327 330 340
>>322 : 325 328 329 331 332 339 341 358 359

668 ::2019/06/29(土) 16:36:41.68 ID:+oJyIv4Z.net
>>362 : 367 369 370 371 374 379 380 382 414
>>368 : 390
>>388 : 487 (488) 553 559
>>400 : 401
>>408 :
>>417 : 418 419 421 426 432 433 436 438 442 446 451 452 456 471 474 480 482 489 492 495 498 528 530 540
>>479 :
>>555 : 556 558 564 565
>>557 : 560 562 568 569
>>570 : 574 577
>>573 : 604 622
>>600 : 605 607 611 613 627
>>615,626 :
>>632 : 637 640 645 649 650

669 ::2019/06/29(土) 16:36:57.16 ID:+oJyIv4Z.net
>>651 : 654 657 662
>>656 :
>>661 :

670 :デフォルトの名無しさん:2019/06/29(土) 16:41:45.64 ID:dLka8n6Z.net
>>669
ごめん迷惑だからそれやめて

671 :デフォルトの名無しさん:2019/06/29(土) 16:59:14.03 ID:S1v50lfX.net
>>669 安静にしてた方が良いと思うよ。 反発のない世界で触れ合うのは良いと思うけど、2ch/5ch みたいなところに出てくると、傷つくのは目に見えてる。

みるのが楽しければ、みるだけにとどめるとか。

672 :デフォルトの名無しさん:2019/06/29(土) 20:21:36.23 ID:YzN8MsSb.net
w3m https://mevius.5ch.net/test/read.cgi/tech/1558168409/ \
|perl -ne 'if (/^1/m){++$body};if (/^ ? \d+コメント$/m){$body=0} ; print if ($body)'\
| ./select_word_and_ancher.pl お題 \
| less

perl はこれ
https://paste.fedoraproject.org/paste/6R~aAhHAd3dYBSH0R8Dfhw

出力はこんなかんじだ
お題のレスが見れて、それにアンカしたレスが続くのを1フィールドとして
全部のお題に大してループする
https://i.imgur.com/WVCFus7.jpg

673 :デフォルトの名無しさん:2019/06/29(土) 20:24:28.47 ID:YzN8MsSb.net
1 のテンプレを順守してればこのコードの漏れはなくなる

674 :デフォルトの名無しさん:2019/06/29(土) 22:27:44.56 ID:SeYudeXv.net
>>667
お前個人の備忘録なんてホントにチラシの裏にでも書いとけよ

675 :デフォルトの名無しさん:2019/06/29(土) 22:43:35.91 ID:XRcaFM4Y.net
>>651のお題は
> お題: Hello, World!が入力されるのでHelloとWorldを入れ替えて表示せよ
なので、Hello, World!以外が入力されたら無視するかエラーを出すのが正しいのでは?w

676 ::2019/06/29(土) 22:50:01.35 ID:+oJyIv4Z.net
>>675
それは過剰な設計では?
Hello, World! 以外が入力されたときにどう振舞うべきかについて >>651 には何らの記載がないので、何ら拘束されることがない
言い換えると、入力が Hello, World! 以外の場合には「どうふるまってもいい」と解釈するのが、論理学的に妥当…@だと思います
@:論理式「偽→真」=真、「偽→偽」=真からの類推です

677 :デフォルトの名無しさん:2019/06/29(土) 22:56:34.59 ID:SeYudeXv.net
>>675
>>651>>653で答えが出ちゃったね

678 :デフォルトの名無しさん:2019/06/29(土) 23:05:06.71 ID:/qzOxQgj.net
>>677
> お題: Hello, World!が入力されるので
とあるから入力されるまで待つ処理がない>>653は失格

679 :デフォルトの名無しさん:2019/06/30(日) 01:26:45.54 ID:V7r21EI6.net
>>677 Lua
a,b,c,d=io.read(5,2,5,1)
print (c..b..a..d)

680 :デフォルトの名無しさん:2019/06/30(日) 01:41:37.13 ID:V7r21EI6.net
>>679
アンカー間違えました
>>651 Lua
でした

681 :デフォルトの名無しさん:2019/06/30(日) 01:59:36.72 ID:3kywsUGB.net
>>678
アホかお前
勝手にオリジナルルール作るなよ

682 :デフォルトの名無しさん:2019/06/30(日) 02:25:30.30 ID:8mJPxIjl.net
>>651 Common Lisp
https://ideone.com/gR5ISR

683 :デフォルトの名無しさん:2019/06/30(日) 08:04:20.61 ID:uuDJgtvu.net
お題
#1234→◆gdyb21LQTc
#abcd→◆4vxxTEcn7p
#あいうえお→◆rXz1zlMT-L

左のトリップキーから右のトリップを返すアルゴリズムを探せ

684 :デフォルトの名無しさん:2019/06/30(日) 08:39:27.77 ID:XM+o4kuM.net
>>683
$ head text hash.sedscr
==> text <==
#1234→◆gdyb21LQTc
#abcd→◆4vxxTEcn7p
#あいうえお→◆rXz1zlMT-L

左のトリップキーから右のトリップを返すアルゴリズムを探せ

==> hash.sedscr <==
s/#1234/◆gdyb21LQTc/
s/#abcd/◆4vxxTEcn7p/
s/#あいうえお/◆rXz1zlMT-L/

$ cat text | sed -f hash.sedscr
◆gdyb21LQTc→◆gdyb21LQTc
◆4vxxTEcn7p→◆4vxxTEcn7p
◆rXz1zlMT-L→◆rXz1zlMT-L

左のトリップキーから右のトリップを返すアルゴリズムを探せ

685 :デフォルトの名無しさん:2019/06/30(日) 09:03:57.63 ID:AuhBLaKB.net
>>683 Java
https://ideone.com/ulBeVb

digestは一回、charsetは二回目で当たった

686 :デフォルトの名無しさん:2019/06/30(日) 09:33:15.89 ID:uuDJgtvu.net
>>685
Magnificent !!

687 :!ninja:2019/06/30(日) 13:03:33.35 ID:HaN7O98U6
ts

688 :デフォルトの名無しさん:2019/06/30(日) 18:48:21.28 ID:TQbu+/Q+.net
>>678 Perl5(組合せ計算のモジュールはCPANにあるが言語処理系に標準で含まれるCOREモジュールではないので使わずに実装した)

@a=sort{$b<=>$a} qw{9 -5 -3 2 1 8 0 -4 -1 4 -2 1 3 2};
@b=splice @a,0,5;
splice @a,0,-4;
@c=(@b, @a); # 大きい方から5個と小さい方から4個,計最長9個
sub combi { # 組合せ
 my @s;
 if (my $n = shift) {
  while ($n <= @_) {
   my $t = shift;
   push @s, map{[$t, @$_]} combi($n - 1, @_);
  }
 } else {
  @s = ([]);
 }
 @s
}
@d = combi(5, @c); # 126個
use List::Util 'product';
@e = sort{$$b[0]<=>$$a[0]} map{[product(@$_), $_]} @d;
print "@{$e[0][1]} => $e[0][0]\n";

実行結果
~ $ perl 14_632.pl
9 8 4 -4 -5 => 5760

689 :デフォルトの名無しさん:2019/06/30(日) 18:49:06.96 ID:TQbu+/Q+.net
>>684
アンカー間違えた >>632 宛だった…Orz

690 :デフォルトの名無しさん:2019/07/01(月) 01:03:55.45 ID:2xJWXsNl.net
>>632 Perl5 (CPANのMath::Combinatoricsモジュール使用)

use Math::Combinatorics;
use List::Util 'product';
@a=sort{$b<=>$a} qw{9 -5 -3 2 1 8 0 -4 -1 4 -2 1 3 2};
@b=splice @a,0,5;
splice @a,0,-4;
@c=(@b, @a);
@d=combine 5, @c;
@e=sort{$$b[0]<=>$$a[0]} map{[product(@$_), $_]} @d;

実行結果
~ $ perl 14_632_2.pl
9 4 8 -5 -4 => 5760

691 :デフォルトの名無しさん:2019/07/01(月) 01:17:22.86 ID:2xJWXsNl.net
>>690
最後のstatement
print "@{$e[0][1]} => $e[0][0]\n";
が抜けてた…Orz

692 :600:2019/07/01(月) 12:51:23.31 ID:O1pDJEnN.net
>>600
Ruby で、
require 'date'

ary_A = %w(2019/07/05 2019/07/10 2019/07/15 2019/07/20)
ary_B = %w(2019/07/08 2019/07/10 2019/07/20)
ary_C = %w(2019/07/15 2019/07/20 2019/07/25)

# 文字列の配列から、ハッシュを作る。Date#jd は、ユリウス日。整数型
def make_hash( ary, name )
ary.each_with_object( { } ) {
| str, h | h[ Date.parse( str ).jd ] = [ str, name ] }
end

# ハッシュをマージする。h_1 を上書きする。slice で、位置1 から、1つだけ
def merge_hash( h_1, h_2 )
h_1.merge!( h_2 ) { |key, v_1, v_2| v_1 + v_2.slice( 1, 1 ) }
end

hash_A = make_hash( ary_A, "A" )
hash_B = make_hash( ary_B, "B" )
hash_C = make_hash( ary_C, "C" )

merge_hash( hash_A, hash_B )
merge_hash( hash_A, hash_C )

hash_A.select { |k, v| v.length >= 3 }.sort.each { |elem|
puts elem.last.join( ", " ) }

693 :デフォルトの名無しさん:2019/07/02(火) 00:55:09.45 ID:l8Ho6rg6.net


694 :デフォルトの名無しさん:2019/07/03(水) 05:29:13.40 ID:/Fyb2XSg.net
>>570 Lua
prrint("(X)")

695 :デフォルトの名無しさん:2019/07/03(水) 13:00:21.17 ID:0rGzsSa9.net
>>570
exho 八

696 :デフォルトの名無しさん:2019/07/03(水) 23:21:16.00 ID:S/aBv8fE.net
お題
直線状の(配列を使った)ライフゲームがある。ルールは、

1. 両隣が生きていれば、暑苦しいので死ぬ
2. 両隣が死んでいれば、寂しいので死ぬ
3. 両隣の内、片方だけが生きていれば、生きる

4. 両端の2つについては、隣が生きていれば生きるし、隣が死んでいれば死ぬ
5. すべてのマスの状態の変更は、同時にすること

下の初期値(1 ターン目)から初めて、状態が変わらなくなるのは、何ターン目か?
nターン目と、( n + 1 )ターン目が同じなら、nターン目を答える

ただし、漏れは検証していないので、100ターンを超えたら、終了してくださいw
* は生、. は死を表す

.*...**.*.***..

697 :デフォルトの名無しさん:2019/07/04(木) 00:54:11.99 ID:j53oJnyj.net
>>696 Pharo/Squeak Smalltalk

| map next turn |
map := '.*...**.*.***..' asArray collect: [:x | (x = $*) asBit].
next := [map allButFirst, {0} + ({0}, map allButLast) collect: [:x | (x = 1) asBit]].
turn := 1.
[map = (map := next value) or: [(turn := turn + 1) >= 100]] whileFalse.
^turn "=> 13 "

698 :デフォルトの名無しさん:2019/07/04(木) 01:48:41.98 ID:3GgPlSpw.net
>>696
https://ideone.com/Rj3O0W
C++。即死したんだけど、まちがてる?

699 :デフォルトの名無しさん:2019/07/04(木) 02:56:15.33 ID:GH7xphp0.net
プログラムしてないけど、そういう結果になると思う。

700 :デフォルトの名無しさん:2019/07/04(木) 07:37:27.36 ID:Ic4+qAXv.net
増える条件ナインかこれ

701 :デフォルトの名無しさん:2019/07/04(木) 08:19:44.93 ID:k4YTb8Ao.net
LifeGameなら生まれる条件つけないと。

702 :デフォルトの名無しさん:2019/07/04(木) 08:35:23.83 ID:11vlC8ZO.net
>>696 ruby 13ターンで全滅
life = ' .*...**.*.***.. '
puts "%4d %s" % [1, life]
100.times{|gene|
life2 = ' ' * life.size
(life.size-2).times{|i| life2[i+1] = ((life[i] == '*') ^ (life[i+2] == '*'))? '*' : '.' } # rule 1, 2, 3, 4
break if life == life2
puts "%4d %s" % [gene+2, life2]
life = life2 # rule 5
}

703 :デフォルトの名無しさん:2019/07/04(木) 09:15:04.08 ID:49DxGPOe.net
プログラム組むまでもなく3ターンで終わりなんだけど解釈間違ってんのかな

704 :デフォルトの名無しさん:2019/07/04(木) 11:47:20.51 ID:oZa6FYcv.net
>>696 Java
https://ideone.com/8cforf

生きるってのが誕生も含める場合13ターン >>697 >>702
生きるってのが生存のみの場合3ターン >>698
ってことだな

705 :695:2019/07/04(木) 16:13:36.89 ID:vGw4d28b.net
生きるとは、新たに誕生する場合も、含めてください!

706 :デフォルトの名無しさん:2019/07/04(木) 16:51:48.26 ID:NOiQUdad.net
ジョジョくさいセリフ

707 :デフォルトの名無しさん:2019/07/04(木) 17:41:32.68 ID:UVclwvu+.net
居ないときは両隣が生きていれば生まれる
(生きているときは 1. に従い死ぬ)
とかの方がいいんじゃない?

708 :デフォルトの名無しさん:2019/07/04(木) 17:59:22.42 ID:oZa6FYcv.net
>>696,705
つまりルール90の1次元セルオートマトンってことでいいのかの? (誕生無しの場合ルール18になる)

セル・オートマトン#1次元セル・オートマトン
https://ja.wikipedia.org/wiki/%E3%82%BB%E3%83%AB%E3%83%BB%E3%82%AA%E3%83%BC%E3%83%88%E3%83%9E%E3%83%88%E3%83%B3#1%E6%AC%A1%E5%85%83%E3%82%BB%E3%83%AB%E3%83%BB%E3%82%AA%E3%83%BC%E3%83%88%E3%83%9E%E3%83%88%E3%83%B3

709 :デフォルトの名無しさん:2019/07/04(木) 22:15:57.84 ID:Otr1Y9/T.net
お題: コマンド「stack」を実装しなさい

stackの仕様

$ stack push hoge

で文字列hogeをスタックにプッシュする

$ stack pop
hoge

でスタックに積んだ文字列をポップする
スタックが空の場合は何も表示しない

710 :デフォルトの名無しさん:2019/07/04(木) 23:07:41.19 ID:3GgPlSpw.net
ライフゲームだけど、生まれる話は聞いてないなぁ。
主が生まれる条件書いてねー気がする。

711 :デフォルトの名無しさん:2019/07/05(金) 00:22:45.10 ID:cLn1h7ts.net
>>703
手計算したら同じく3手だった

712 :デフォルトの名無しさん:2019/07/05(金) 00:31:50.12 ID:4z1quspY.net
>>696,705 Perl5

sub f {
 @a = map{'*' eq $_} split '', '.*...**.*.***..';
 for ($t = 2; $t <= 100; $t++) {
  @b = $_[0]->();
  $t--, last if "@b" eq "@a";
  @a = @b;
 }
 @a = map{$_ ? '*' : '.'} @b;
}
f(sub{$a[1], (map{$a[$_] and ($a[$_-1] xor $a[$_+1])} 1..$#a-1), $a[$#a-1]});
print "生存のみ $t: ", @a, "\n";
f(sub{$a[1], (map{$a[$_-1] xor $a[$_+1]} 1..$#a-1), $a[$#a-1]});
print "誕生あり $t: ", @a, "\n";

実行結果
~ $ perl 14_695.pl
生存のみ 3: .....**........
誕生含む 13: ...............

713 :デフォルトの名無しさん:2019/07/05(金) 00:33:12.20 ID:4z1quspY.net
>>712 ゴメン実行結果貼り間違えた
~ $ perl 14_695.pl
生存のみ 3: .....**........
誕生あり 13: ...............

714 :デフォルトの名無しさん:2019/07/05(金) 00:41:15.13 ID:4z1quspY.net
>>712 たびたびゴメン、微妙に間違えていた、この入力の場合答えは変わらないけど
sub f {
 @a = map{'*' eq $_} split '', '.*...**.*.***..';
 for ($t = 2; $t <= 100; $t++) {
  @b = $_[0]->();
  $t--, last if "@b" eq "@a";
  @a = @b;
 }
 @a = map{$_ ? '*' : '.'} @b;
}
f(sub{map{$a[$_] and ($a[$_-1] xor $a[$_+1])} 0..$#a});
print "生存のみ $t: ", @a, "\n";
f(sub{$a[1], (map{$a[$_-1] xor $a[$_+1]} 1..$#a-1), $a[$#a-1]});
print "誕生あり $t: ", @a, "\n";


~ $ perl 14_695.pl
生存のみ 3: .....**........
誕生あり 13: ...............

715 :デフォルトの名無しさん:2019/07/05(金) 07:06:17.78 ID:8ZiX2Qqp.net
公式サイトが死んで1ヶ月ぐらい立ったけどUWSC
>>696 http://codepad.org/C46guycm
>>709 http://codepad.org/QU38TKOo

716 :701:2019/07/05(金) 07:27:15.34 ID:FwZHoBTZ.net
>>696 ruby 13ターンで全滅 (>>702 bit演算化)
life = '.*...**.*.***..'
bord = life.tr('.*','01').to_i(2)
mask = 2 ** life.size - 1
fmt = "%%0%db" % life.size
100.times{|gene|
puts "%5d %s" % [gene+1, (fmt % bord).tr('01','.*')]
bord2 = ((bord<<1)^(bord>>1)) & mask # rule 1, 2, 3, 4
break if bord == bord2
bord = bord2
}

717 :695:2019/07/05(金) 12:37:23.14 ID:imex3OYJ.net
>>707
>1. 両隣が生きていれば、暑苦しいので死ぬ
これを変形して、

1a. 自マスが生きている場合、両隣が生きていれば、暑苦しいので死ぬ
1b. 自マスが死んでいる場合、両隣が生きていれば、生きる(新たに誕生する)

1c. ただし、両端の2つのマスについては、1a, 1b を適用せず、ルール4 で良い。
4. 両端の2つについては、隣が生きていれば生きるし、隣が死んでいれば死ぬ

つまり、両端の2つについては、そのマスの両隣の内、
存在しないマスを死んでいるものとして扱うと、常に、1a, 1bには該当しない

興味があれば、この変形ルールでも、やってみてください!
ただし、漏れは、どうなるのか知りませんがw

>>708
確かに、ルール90 と同じです

718 :デフォルトの名無しさん:2019/07/05(金) 15:42:56.85 ID:RqW7c8ei.net
【7ピンN枚の河内塔の最短手順問題】

初期状態では帽子はピン0
にあり、ピン6にすべて移す
までの最小手順の回数を求める

例:
N=3 5回
0->4
0->5
0->6
5->6
4->6

719 :デフォルトの名無しさん:2019/07/05(金) 16:33:02.65 ID:FwZHoBTZ.net
>>717 ruby 63ターン以降2周期ループ(62,63,62,63,,,)
life = '.*...**.*.***..'
bord = life.tr('.*','01').to_i(2)
mask = 2 ** life.size - 1
fmt = "%%0%db" % life.size
bords = {bord=>true}
100.times{|gene|
puts "%5d %s" % [gene+1, (fmt % bord).tr('01','.*')]
bord2 = (bord<<1 ^ bord>>1 | bord<<1 & bord>>1 & ~bord) & mask # rule >>707, >>717
break if bords[bord2]
bord = bord2
bords[bord] = true
}

720 :695:2019/07/05(金) 17:47:06.08 ID:imex3OYJ.net
>>719
循環しましたか?

循環を発見するには、すべてのターンを記録して照合しないといけないから、大変!

721 :デフォルトの名無しさん:2019/07/05(金) 18:27:24.81 ID:XEA++p8t.net
>>717
3a、3b は?

722 :695:2019/07/05(金) 19:42:34.54 ID:imex3OYJ.net
>>721
3. 両隣の内、片方だけが生きていれば、生きる

元々、生きるには、誕生する事も含むから、3a, 3b は、必要ない

ただ、
>>707
の提案で、1a, 1b の所だけを変えてみたのが、
>>717

723 :デフォルトの名無しさん:2019/07/05(金) 22:52:47.49 ID:aEAVP96+.net
https://ideone.com/VOwT7u
C++版改。5ターンで止まった。
ライフゲームは、ダブルバッファリング以外で作れる気がしない。

724 :デフォルトの名無しさん:2019/07/05(金) 23:55:57.51 ID:FwZHoBTZ.net
#>>717 ruby # Rule を配列化。 (L C R) 3bit 0..7 の状態 >>659なら [0,1,0,1,1,0,1,0]
Rule = [0,1,0,1,1,1,1,0] # rule >>707, >>717
life = '.*...**.*.***..'
lifeBit = life.size
bord = life.tr('.*','01').to_i(2)
fmt = "%%0%db" % lifeBit
bords = {bord=>true}
100.times{|gene|
puts "%5d %s" % [gene+1, (fmt % bord).tr('01','.*')]
bord <<= 1
bord2 = 0
lifeBit.times{|bit|
bord2 |= Rule[bord & 7] << bit
bord >>= 1
}
bord = bord2
break if bords[bord]
bords[bord] = true
}

725 :デフォルトの名無しさん:2019/07/05(金) 23:56:51.12 ID:aY14jca4.net
>>717 Pharo/Squeak Smalltalk

| map next seq start |
map := '.*...**.*.***..' asArray collect: [:x | (x = $*) asBit].
seq := OrderedCollection with: map.
next := [ | acc |
acc := map + (map allButFirst, {0}) + ({0}, map allButLast).
((#(1 2) collect: [:x | acc collect: [:elem | (elem = x) asBit]]) * {map negated + 1. 1}) sum
].
[(start := seq indexOf: (map := next value)) > 0 or: [seq size >= 100]] whileFalse: [seq add: map].
(start = 0 or: [start = seq size]) ifTrue: [seq size] ifFalse: [start to: seq size]

"=> (62 to: 63) "

726 :デフォルトの名無しさん:2019/07/05(金) 23:58:19.78 ID:FwZHoBTZ.net
>>724
s/>>659なら/>>696なら/

727 :デフォルトの名無しさん:2019/07/06(土) 15:06:03.47 ID:LdZDcwTE.net
>>723だけど間違ってたら、教えて。
今みんな何やってるのか把握してない。

728 :デフォルトの名無しさん:2019/07/06(土) 15:56:23.82 ID:xBT7e3zK.net
>>717 Perl5、5で止まる。>>721>>722の解釈違い?それともオレのBug?

%s = qw(. 0 * 1);
@a = map{$s{$_}} split '', '.*...**.*.***..';
$t = 1;
%h = ("@a" => $t);
printf "%2d: @a\n", $t;
for ($t = 2; $t <= 100; $t++) {
 @b=($a[1] ? $a[0] : 0,
   (map{
    ($a[$_-1] xor $a[$_+1]) ? $a[$_] :
     (($a[$_-1] and $a[$_+1]) ? ($a[$_]?0:1) : 0)
   } 1..$#a-1),
   $a[-2] ? $a[-1] : 0
   );
 printf "%2d: @b\n", $t;
 @a = @b;
 $t--, last if exists $h{"@a"};
 $h{"@a"} = $t;
}
@c = map{$_ ? '*' : '.'} @a;
printf "%d => @c\n", $t;

実行結果
~ $ perl 14_716.pl
1: 0 1 0 0 0 1 1 0 1 0 1 1 1 0 0
2: 0 0 0 0 0 1 1 1 0 1 1 0 1 0 0
3: 0 0 0 0 0 1 0 1 1 1 1 1 0 0 0
4: 0 0 0 0 0 0 1 1 0 0 0 1 0 0 0
5: 0 0 0 0 0 0 1 1 0 0 0 0 0 0 0
6: 0 0 0 0 0 0 1 1 0 0 0 0 0 0 0
5 => . . . . . . * * . . . . . . .

729 :デフォルトの名無しさん:2019/07/06(土) 16:00:21.54 ID:LdZDcwTE.net
>>728
おぉ、同志。(一方通行

730 :デフォルトの名無しさん:2019/07/06(土) 16:25:41.58 ID:ZIRVHkTq.net
>>718
問題がわからない。
河内塔って何?

731 :デフォルトの名無しさん:2019/07/06(土) 16:28:50.79 ID:GxnR+B/l.net
もしかしてハノイの塔かな

732 :デフォルトの名無しさん:2019/07/06(土) 16:38:33.50 ID:Qorx3cLN.net
(- (expt 2 n) 1) ぐらいの手数増加がやばいやつか
たった64枚で移し終えると世界が滅びるらしいぞw

733 :デフォルトの名無しさん:2019/07/06(土) 16:51:49.60 ID:ZIRVHkTq.net
>>731
色々ググっている内に中国語で書かれたサイトで「河内塔」が見つかった。
中国語がよくわからないので何とも言えないがどうやらハノイの塔のようだ。
「河内塔(Tower of Hanoi)」と書いてある個所があり下の方にある画像は正にその説明になっている。
https://blog.csdn.net/jon_me/article/details/41986461

734 :デフォルトの名無しさん:2019/07/06(土) 17:04:45.14 ID:Zeej7B2I.net
>>727-728
>>696の3.が適用されてないんじゃ?

>>727はこんな感じ? https://ideone.com/1VOW38

735 :デフォルトの名無しさん:2019/07/06(土) 17:10:17.77 ID:ZIRVHkTq.net
ベトナム語で「河内」って書いて「ハノイ」と読むんだな。ベトナムでは今は漢字使ってないけど。
https://ja.wikipedia.org/wiki/%E3%83%8F%E3%83%8E%E3%82%A4

736 :デフォルトの名無しさん:2019/07/06(土) 17:31:45.90 ID:LdZDcwTE.net
>>734
えーっと、そのこーどだけど、死んでるセルの隣に生きてるセルがいたら生まれてるんだけどあってる?

737 :デフォルトの名無しさん:2019/07/06(土) 17:52:15.78 ID:LdZDcwTE.net
>>734
示唆してくれてありがとう。言い忘れてた。

738 :デフォルトの名無しさん:2019/07/06(土) 18:01:01.33 ID:8vjCWSQ+.net
>>728

>>717
>確かに、ルール90 と同じです
wikipediaのルール90 を確認してみて

739 :デフォルトの名無しさん:2019/07/06(土) 18:16:30.66 ID:LdZDcwTE.net
うん。リンクあったら一発で書けないこともなかった。というわがまま言ってみる。
まぁ、>>734に書いてあるから、俺のタスクはないなぁ。

https://ja.wikipedia.org/wiki/%E3%82%BB%E3%83%AB%E3%83%BB%E3%82%AA%E3%83%BC%E3%83%88%E3%83%9E%E3%83%88%E3%83%B3#ルール90

740 :デフォルトの名無しさん:2019/07/06(土) 18:21:51.90 ID:xBT7e3zK.net
>>734 ご指摘ありがとう。 >>722

> 3. 両隣の内、片方だけが生きていれば、生きる
> 元々、生きるには、誕生する事も含むから、3a, 3b は、必要ない

を、「3.自マスが死んでいる場合、両隣の何れかでも生きていれば、生まれる。」
と言う意味と捕らえなおして、>>714を書き換えたら、63でloopしたよ。

>>717

>1b. 自マスが死んでいる場合、両隣が生きていれば、生きる(新たに誕生する)

と誕生条件が書いてあったので、3の条件は「生まれる」条件も含むとは考えず、

「3.両隣の内、片方だけが生きていれば、自マスが生きていれば生きる(し、死んでいれば死んだまま)。」
と解釈して >>714 を作ったのが63でloopしなかった原因だと分かった。

741 :デフォルトの名無しさん:2019/07/06(土) 18:25:42.01 ID:xBT7e3zK.net
>>717,722 Perl5

%s = qw(. 0 * 1);
@a = @a = map{$s{$_}} split '', '.*...**.*.***..';
$t = 1;
%h = ("@a" => $t);
@h = ("@a");
for ($t = 2; $t <= 100; $t++) {
 @b=($a[1] ? 1 : 0,
   (map{
    ($a[$_-1] xor $a[$_+1]) ? 1 :
     (($a[$_-1] and $a[$_+1]) ? ($a[$_]?0:1) : 0)
   } 1..$#a-1),
   $a[-2] ? 1 : 0
   );
 @a = @b;
 push @h, "@a";
 $t--, last if exists $h{"@a"};
 $h{"@a"} = $t;
}
$i = $h{"@a"};
print $_ - 1, ": $h[$_-1]\n" for $i..@h;

実行結果
~ $ perl 14_716_721.pl
61: 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1
62: 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0
63: 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1

742 :デフォルトの名無しさん:2019/07/06(土) 18:44:26.01 ID:xBT7e3zK.net
>>717,722 Perl5、ゴメン、結果は0 1じゃなくて.*のstringで表示すべきだったので修正させていただきます

@a = split '', '.*...**.*.***..';
@h = ("@a");
@a = map{'*' eq $_ ? 1 : 0} @a;
$t = 1;
%h = ("@a" => $t);
for ($t = 2; $t <= 100; $t++) {
 @b=($a[1] ? 1 : 0,
   (map{
    ($a[$_-1] xor $a[$_+1]) ? 1 :
     (($a[$_-1] and $a[$_+1]) ? ($a[$_]?0:1) : 0)
   } 1..$#a-1),
   $a[-2] ? 1 : 0
   );
 push @h, join'',map {$_ ? '*' : '.'} @b;
 @a = @b;
 $t--, last if exists $h{"@a"};
 $h{"@a"} = $t;
}
$i = $h{"@a"};
print $_ - 1, ": $h[$_-1]\n" for $i..@h;

実行結果
~ $ perl 14_716_721.pl
61: *.*.*.*.*.*.*.*
62: .*.*.*.*.*.*.*.
63: *.*.*.*.*.*.*.*

743 ::2019/07/06(土) 19:13:43.46 ID:wBQNST8m.net
お題と回答
>>5 : 6 10 32 36 44
>>9 : 15 34 35 79
>>11=>>575 : 48 (78) 138-139 (140) 142 146 151 154
>>19 :
>>50, https://mevius.5ch.net/test/read.cgi/tech/1549160513/920 : 4 85 89
https://mevius.5ch.net/test/read.cgi/tech/1549160513/988 == >>164 : 59 61 167 169 189 192 201 202
>>90 : 95 96
>>99 :
>>200 : 214 219
>>215 : 227
>>220 : 232 240 248 256 268
>>235 : 236 237 238 239 247 249 259 342 353
>>320 : 321 323 327 330 340
>>322 : 325 328 329 331 332 339 341 358 359

744 ::2019/07/06(土) 19:14:04.22 ID:wBQNST8m.net
>>362 : 367 369 370 371 374 379 380 382 414
>>368 : 390
>>388 : 487 (488) 553 559
>>400 : 401
>>408 :
>>417 : 418 419 421 426 432 433 436 438 442 446 451 452 456 471 474 480 482 489 492 495 498 528 530 540
>>479 :
>>555 : 556 558 564 565
>>557 : 560 562 568 569
>>570 : 574 577
>>573 : 604 622
>>600 : 605 607 611 613 627 691
>>615,626 :
>>632 : 637 640 645 649 650 687 689-690

745 ::2019/07/06(土) 19:14:20.27 ID:wBQNST8m.net
>>651 : 654 657 662 679 682
>>655 :
>>661 :
>>683 : 685
>>696,705,717,722 : 696 697 701 703 711 713 714 715 718 722 723 724 727 740-741
>>709 : 714
>>718 :

746 :デフォルトの名無しさん:2019/07/06(土) 19:37:09.81 ID:HtNG6e5Z.net
消えろ

747 :デフォルトの名無しさん:2019/07/06(土) 21:17:45.94 ID:Qorx3cLN.net
ログ汚染が酷い

748 :695:2019/07/07(日) 08:03:43.59 ID:Ts5uCd7M.net
だから、誕生という概念を作ると、説明が難しいから、「生死」の状態だけにした。
生死だけなら、前の状態に関係ない、前の状態と切れているから

誕生という概念を使うと、
a. 前の状態が死んでいる時と、
b. 前の状態が生きている時で、

処理が変わってくるから複雑になって、勘違いする人も出てくるから

749 :デフォルトの名無しさん:2019/07/07(日) 12:00:48.06 ID:K8IqcFVG.net
>>748
その「だから」は何につながってるのか読めない。

750 :デフォルトの名無しさん:2019/07/07(日) 17:48:05.53 ID:Sb2el8tu.net
>>748
状態が関係ないと実装の工夫のしどころが失われて面白みが半減すると思うよ

最初の何ターンかを例として示せば済むはなしだし
手元で実装を試していればなおさら何の苦もないことかと

細かい事を言うと、本当に実装を試さずに出題しているのならそれはルール違反なんだよね
(チューリングの泥沼問題回避や宿題の丸投げ防止)

751 ::2019/07/07(日) 19:42:47.11 ID:wvjux210.net
>>750
出題者が実装をひとつは持っておく、というのは努力目標でいいんじゃないかな?お題が面白ければ私は許容しますね
まあ自分のお題は面白くないので実装をひとつくらいは持つようにしていますが…

752 :デフォルトの名無しさん:2019/07/07(日) 19:55:58.86 ID:MQV9uu2h.net
たしかにくだらないクソ問ばかりだね。

753 :蟻人間 :2019/07/07(日) 21:06:25.36 ID:JhpdhjN9.net
お題: 生徒の氏名、身長、体重の3つからなる複数のレコードが与えられる。氏名とBMIを左揃えのテキストの表にせよ。
単位はMKS単位系、テキストはASCIIおよび等幅フォントが使われると仮定してよい。

Tanaka Naoki 15kg 2m
Inoue Ken 280g 32cm
Akai Ryusei 1mg 3km

754 :蟻人間 :2019/07/07(日) 21:26:21.37 ID:JhpdhjN9.net
お題: MKS単位系の単位を変換する関数またはクラスを作れ。

1kg:g
→1000g

2m:cm
→200cm

755 :蟻人間 :2019/07/07(日) 21:28:22.26 ID:JhpdhjN9.net
名前はテキトーに思いついたのを書いただけです。

756 :デフォルトの名無しさん:2019/07/07(日) 21:28:35.00 ID:K8IqcFVG.net
>>754
C++なら、ユーザー定義リテラルで横着できるんだけど、入力解析が嫌な感じだ。

757 :蟻人間 :2019/07/07(日) 21:44:56.12 ID:JhpdhjN9.net
物理シミュレーションが人間の手から離れて自由自在にならなければ、火星への仮想移住もできない。MKS単位系の計算術は重要だ。

758 :デフォルトの名無しさん:2019/07/07(日) 21:50:29.52 ID:ngB3G+2v.net
トリップ付きは大学の教養課程の知識すらない阿呆しかいないのかね

759 :蟻人間 :2019/07/07(日) 22:23:37.11 ID:0lH1eUtN.net
常識など切り刻むのみ。

760 :デフォルトの名無しさん:2019/07/07(日) 22:41:27.22 ID:+dwSkgWp.net
死ねや糞コテ

761 :デフォルトの名無しさん:2019/07/07(日) 23:10:54.31 ID:K8IqcFVG.net
https://ideone.com/46Q0vU
物理難しすぎた。
Wikipediaを写経しようと思ったら、わからないことが多すぎる。

762 :蟻人間 :2019/07/07(日) 23:19:20.77 ID:0lH1eUtN.net
長さの単位、質量の単位、そして時間の単位の3つがある。これにキロ、ミリ、マイクロなどが前に付く。
変換方法は複数あり、何から何への変換方法はデータとして与えられ、それらは追加可能でなければ不便。

763 ::2019/07/07(日) 23:23:22.07 ID:wvjux210.net
先生!質問です!
重さの規準は kg ですか?それとも g ですか?え?kg?おっかしーなー?kg の kって単なる接頭辞 prefix なのでは?

764 :デフォルトの名無しさん:2019/07/07(日) 23:28:12.83 ID:6uzWSrE8.net
全部Jで統一しろハゲ共

765 :デフォルトの名無しさん:2019/07/08(月) 00:24:27.94 ID:YBWHLZTU.net
長さ1センチの鼻毛を鉛直方向に1ニュートンの力で引っ張り、抜いたときに感じる痛みは1ハナゲ

766 ::2019/07/08(月) 00:28:17.48 ID:5PNDCGkj.net
>>764
質量は J に等価交換できても長さや時間は無理なのでは?

767 :デフォルトの名無しさん:2019/07/08(月) 00:58:34.40 ID:ktC9cNPU.net
>>766
natural unitも知らねえのか

768 :デフォルトの名無しさん:2019/07/08(月) 08:05:28.83 ID:ATr0dgzt.net
タブ区切りの文字列の置換リストがあって、そのとおりにテキストファイルファイルを置換したい
そういうソフトありますか?
見つからないので自作しようとおもったけどここへ書いてみた


置換リスト例

ああああ うううう
aaaaa QQQQQ

769 :デフォルトの名無しさん:2019/07/08(月) 08:09:30.46 ID:ATr0dgzt.net
コマンドラインでGREPと置換できるソフトはあるんだけど。
DOSの文字制限と、正規表現の制限で、
置換したい文字の設定がややこしい。あと複数同時にできない。
文字を加工せずできれば便利だなと。

770 :デフォルトの名無しさん:2019/07/08(月) 08:10:59.60 ID:cS5GyvAA.net
>>768
スレ違い

771 :デフォルトの名無しさん:2019/07/08(月) 11:02:56.96 ID:tzeJFuHl.net
>>768
Perlでも使えば?文字列置換楽だよ。

772 :デフォルトの名無しさん:2019/07/08(月) 11:50:01.31 ID:8XvlSCIJ.net
>>768
perl5 が最高だとおもうよ
もともとそういう分野に特化した言語だ

773 ::2019/07/08(月) 18:59:50.46 ID:qs7HTSo5.net
>>767
時間や長さを J で統一することは自然単位系でもできませんね…

774 ::2019/07/08(月) 19:00:41.66 ID:qs7HTSo5.net
>>768
仕様を正確に記述してください

775 :デフォルトの名無しさん:2019/07/08(月) 19:25:39.25 ID:uJPizAN5.net
宿題に餌を与えないでください

776 :デフォルトの名無しさん:2019/07/08(月) 22:57:02.15 ID:G1DtFXg8.net
Ruby では変換表を使って、置換できる

hash = { 'ab' => 'あ', 'xy' => 'ん' }

p re = Regexp.union( hash.keys ) #=> /ab|xy/

p "9xy9ab9xyx".gsub( re, hash )
#=> 9ん9あ9んx

gsub(pattern, hash) -> String
文字列中の pattern にマッチした部分をキーにして、hash を引いた値で置き換える

hash = {'b'=>'B', 'c'=>'C'}
p "abcabc".gsub(/[bc]/){hash[$&]} #=> "aBCaBC"
p "abcabc".gsub(/[bc]/, hash) #=> "aBCaBC"

777 :デフォルトの名無しさん:2019/07/09(火) 00:46:29.33 ID:b1/VU+FF.net
rubyの宣伝とはいえ、宿題に餌やるなら、問われている事柄に応えてやったらどうかと思う。
宣伝意識が前面に出すぎて目的を忘れるなかれ、って感じ。

778 :デフォルトの名無しさん:2019/07/09(火) 00:48:43.11 ID:b1/VU+FF.net
    |                   \
    |  ('A`)           ギシギシ
   / ̄ノ( ヘヘ ̄ ̄        アンアン/

779 :デフォルトの名無しさん:2019/07/09(火) 04:09:17.17 ID:0VeokVre.net
[ 弘前大 ]
和が406 で、最小公倍数が2,660 である、2つの整数を求めよ

答え
14 * 10 = 140
14 * 19 = 266

780 :デフォルトの名無しさん:2019/07/09(火) 08:28:09.19 ID:chrBBqpb.net
整数問題は脳死でこう叩く
(loop for x from 1 to 1000 do (loop for y from 1 to 1000 when (and (eq (+ x y) 406) (eq (lcm x y) 2660)) do (format t "~a ~a~%" x y)))
140 266
266 140

781 :778:2019/07/09(火) 08:48:05.20 ID:0VeokVre.net
和が406 ですよ

1〜405 を確認すれば十分!

782 :デフォルトの名無しさん:2019/07/09(火) 08:52:39.17 ID:chrBBqpb.net
大学の入試問題の大半 8割ぐらいは1000までローラーすればいい
だから経験上1000やっちゃうんだよね
最適化してくなら for y from x
とかも効かすけど
3乗算決めるぐらいまでは問題ない速度が出てる(loop x(loop y(loop z

783 :デフォルトの名無しさん:2019/07/09(火) 09:28:56.09 ID:4nn6D6BQ.net
>>773
完全にアホ

784 :デフォルトの名無しさん:2019/07/09(火) 11:02:44.61 ID:lxeGachM.net
>>782
和なんだから最適化利かすならyは406からx引けよw

785 :デフォルトの名無しさん:2019/07/09(火) 11:18:51.73 ID:chrBBqpb.net
>>784
たしかに
全然見えてなかったw

786 ::2019/07/09(火) 18:57:01.98 ID:Rbs4mLR8.net
>>783
煽るだけではねえ…時間や長さを J に統一するために自然単位系がどう使えるのか書けるのですか?

787 :デフォルトの名無しさん:2019/07/09(火) 19:43:25.84 ID:ggPtzp0W.net
壮大な話やなぁ。
その時間系に所属する人の仕事量を全部計算するんかいな??
アホだからこんなこと思うわ。

788 :デフォルトの名無しさん:2019/07/09(火) 21:57:24.41 ID:gdYXIa6p.net
私は頭は良いのだが知識がないため君らが何を言っているのかがよくわからない。

789 :778:2019/07/12(金) 14:53:22.97 ID:uwyqXnfJ.net
>>779
Ruby で、

require 'prime'

sum = 406 # 和
lcm = 2_660 # 最小公倍数。least common multiple

# 最大公約数。greatest common divisor
gcd = sum.gcd( lcm ) # 14

# 最大公約数で割ったもの
sum_2 = sum / gcd # 29
lcm_2 = lcm / gcd # 190

# 半分(1〜15)まで、ループする。ary は、10
ary = ( 1..( sum_2 + 1 ) / 2 ).each.select {
|num| num * ( sum_2 - num ) == lcm_2 }

# 14 * 10 = 140, 14 * 19 = 266
p gcd * ary.first, gcd * ( sum_2 - ary.first )

790 :デフォルトの名無しさん:2019/07/12(金) 17:09:23.04 ID:uwyqXnfJ.net
お題、聖光学院中学校入試問題

1〜10 の10枚のカードの内、4枚を取り出して、a〜d に入れて、
下の式を満たす置き方は、何通りあるか?

( a + b ) * ( c + d ) = 100

答え、48通り

791 :デフォルトの名無しさん:2019/07/12(金) 17:26:31.50 ID:B1Jsh2gD.net
>>790
C++.
総当たりでも解けるくらいの分量だわ〜〜。

https://ideone.com/bXhZp3

792 :デフォルトの名無しさん:2019/07/12(金) 17:31:38.31 ID:B1Jsh2gD.net
やってから気づいたけど、forで回したほうが早いな。
それと、ネクストコンビネーションがほしいのじゃー。

793 :デフォルトの名無しさん:2019/07/12(金) 17:38:32.51 ID:N+Dr1mVf.net
>>779
sum := 406, lcm := 2660
c := gcd(sum, lcm)

(c * t_-, c * t_+) = (140, 266) where t_± = (sum ± √(sum^2 -4c * lcm)) / 2c = (29 ± 9) / 2

794 :デフォルトの名無しさん:2019/07/12(金) 17:45:09.77 ID:N+Dr1mVf.net
>>790
n := 10
(n / 2 - 1)_P_2 * 2^2 = 4_P_2 * 4 = 48

795 :デフォルトの名無しさん:2019/07/12(金) 17:56:38.95 ID:B1Jsh2gD.net
>>779

http://coliru.stacked-crooked.com/a/b219d162366f5cd8
ワンドボックス先生がシェアを許してくれないので、適当に見繕ってきた

796 :デフォルトの名無しさん:2019/07/12(金) 19:41:17.85 ID:Rp3XUaKp.net
>>794
なるほど

797 :デフォルトの名無しさん:2019/07/12(金) 20:06:13.56 ID:OtxPhCkg.net
>>790
4P4 = 12 がなかったので暗算埋め込みしてしまった
(loop with i = 0 for a from 1 to 10 do (loop for b from (1+ a) to 10 do (loop for c from (1+ b) to 10 do (loop for d from (1+ c) to 10 when (eq 100 (+ (* a b) (* c d))) do (incf i)))) finally (print (* 12 i)))
48

798 :デフォルトの名無しさん:2019/07/13(土) 02:35:29.76 ID:P33eZqk8.net
>>569
遅レスだが

innerHTML はヤメロ
appendChild にしとけ…今回のケースでは問題にならないっちゃならないが…

799 ::2019/07/13(土) 16:47:09.19 ID:KfP9prYE.net
>>9 : 15 34 35 79
>>11=>>575 : 48 (78) 138-139 (140) 142 146 151 154
>>19 :
>>50, https://mevius.5ch.net/test/read.cgi/tech/1549160513/920 : 4 85 89
https://mevius.5ch.net/test/read.cgi/tech/1549160513/988 == >>164 : 59 61 167 169 189 192 201 202
>>90 : 95 96
>>99 :
>>200 : 214 219
>>215 : 227
>>220 : 232 240 248 256 268
>>235 : 236 237 238 239 247 249 259 342 353
>>320 : 321 323 327 330 340
>>322 : 325 328 329 331 332 339 341 358 359

800 ::2019/07/13(土) 16:47:24.66 ID:KfP9prYE.net
>>362 : 367 369 370 371 374 379 380 382 414
>>368 : 390
>>388 : 487 (488) 553 559
>>400 : 401
>>408 :
>>417 : 418 419 421 426 432 433 436 438 442 446 451 452 456 471 474 480 482 489 492 495 498 528 530 540
>>479 :
>>555 : 556 558 564 565
>>557 : 560 562 568 569
>>570 : 574 577
>>573 : 604 622
>>600 : 605 607 611 613 627 691
>>615,626 :
>>632 : 637 640 645 649 650 687 689-690

801 ::2019/07/13(土) 16:47:39.98 ID:KfP9prYE.net
>>651 : 654 657 662 679 682
>>655 :
>>661 :
>>683 : 685
>>696,705,717,722 : 696 697 701 703 711 713 714 715 718 722 723 724 727 740-741
>>709 : 714
>>718 :
>>753 :
>>754 : (760)
>>768 : 775
>>779 : 779 788 (792) 794
>>790 : 790 (793)

802 :デフォルトの名無しさん:2019/07/13(土) 17:08:18.94 ID:006l8Xk5.net
まただよ(笑)

803 :デフォルトの名無しさん:2019/07/13(土) 18:59:07.37 ID:/5VqfFnz.net
回答は容易に手繰れるのではっきり言って無用だし迷惑です
どうしてもまとめたいなら
例えば、どんな言語でどのお題に回答しているか整理したものとか付加価値を付けるべきでしょう

804 ::2019/07/13(土) 19:58:46.31 ID:KfP9prYE.net
>>803
ご意見ありがとうございます、参考にいたします

805 :デフォルトの名無しさん:2019/07/13(土) 20:04:23.90 ID:azuEfQ5t.net
>>804
前に何度も不要だ、邪魔だと指摘されたはずだが一向に改めなかったのはなぜ?

806 :デフォルトの名無しさん:2019/07/13(土) 22:03:31.87 ID:+XrRzYc0.net
コテハンだからだろ

807 :デフォルトの名無しさん:2019/07/13(土) 22:53:32.95 ID:0DH1k/wL.net
本当にクズだよな。出す問題もゴミばかり。まるで使用済みティッシュ

808 :デフォルトの名無しさん:2019/07/14(日) 08:46:45.28 ID:7ouziBbN.net
お題
ミニミニなパスカルの三角形を表示する

1
11
121
1331
14641

809 :デフォルトの名無しさん:2019/07/14(日) 08:56:51.66 ID:hrWXJ2sa.net
11^0
11^1
11^2
11^3

810 :デフォルトの名無しさん:2019/07/14(日) 10:31:51.37 ID:I+Q1ZQVX.net
>>808 Ruby

pascal = -> n {n > 0 ? [0, *pascal(n-1), 0].each_cons(2).map(&:sum) : [1]}

(0..9).map{|i| puts pascal[i].join(?\ )} # =>
1
1 1
1 2 1
1 3 3 1
1 4 6 4 1
1 5 10 10 5 1
1 6 15 20 15 6 1
1 7 21 35 35 21 7 1
1 8 28 56 70 56 28 8 1
1 9 36 84 126 126 84 36 9 1

811 :デフォルトの名無しさん:2019/07/14(日) 10:33:20.18 ID:I+Q1ZQVX.net
typo

pascal = -> n {n > 0 ? [0, *pascal[n - 1], 0].each_cons(2).map(&:sum) : [1]}

812 :デフォルトの名無しさん:2019/07/14(日) 22:14:12.29 ID:xwqPe1DN.net
>>808 Perl5

for (1..5) {
 @a = (1, map{$a[$_] + $a[$_+1]} 0..$#a);
 print @a,"\n";
}


実行結果
$ perl 14_807.pl
1
11
121
1331
14641

813 :デフォルトの名無しさん:2019/07/14(日) 22:28:38.27 ID:niuQOGKU.net
>>808 python3
#!/usr/bin/python3
fractal_width = 19

xs = [1]
for i in range(1, fractal_width +1):
  for x in xs:
    print(x, "", end="") #xs sequence
  print("")

  xs.insert(0, 0)
  xs.append(0)
  xs = [ (xs[i] + xs[i +1]) for i in range(len(xs) -1)]

814 :デフォルトの名無しさん:2019/07/14(日) 22:30:14.85 ID:niuQOGKU.net
1
1 1
1 2 1
1 3 3 1
1 4 6 4 1
1 5 10 10 5 1
1 6 15 20 15 6 1

結果はいいけどコードのほうが酷い
print(x, "", end... あたりが最悪

815 :デフォルトの名無しさん:2019/07/14(日) 23:26:39.88 ID:xwqPe1DN.net
>>808 Perl5, 無名関数のtail recursion版

use feature qw'say current_sub';
sub {
 say @_;
 __SUB__->(1, (map{$_[$_-1] + $_[$_]} 1..$#_), 1) if 5 > @_;
}->(1);


実行結果
$ perl 14_807.pl
1
11
121
1331
14641


※ Y-combinator版はマンドクせーので(ry

816 :デフォルトの名無しさん:2019/07/14(日) 23:34:52.64 ID:K5rloPX/.net
>>808 Squeak Smalltalk

| pascal grow |
pascal := OrderedCollection with: #(1).
grow := [pascal add: {1}, (pascal last overlappingPairsCollect: #+), {1}].
7 timesRepeat: grow.
(pascal collect: [:each | each joinSeparatedBy: ' ']) asStringWithCr

"=>'1
1 1
1 2 1
1 3 3 1
1 4 6 4 1
1 5 10 10 5 1
1 6 15 20 15 6 1
1 7 21 35 35 21 7 1' "

817 :デフォルトの名無しさん:2019/07/15(月) 00:44:46.16 ID:ZsG0DnWy.net
>>808
Java
https://paiza.io/projects/PooJUjiQ-5HxS4mEC6lCEA

818 :デフォルトの名無しさん:2019/07/15(月) 02:14:22.17 ID:C2jHumZF.net
時事通信は中立的でもっとも正確。朝日新聞は若干、旧民主党寄りの予想を出した。産経新聞は若干、自民党寄りの予想を出した。

それでもこの3つの分析には大差がない。東京選挙区はほぼ確定した。

当選者は自民党現職の丸川(台本がないと何を言うかわからないぶっとび女)、

自民党現職の武見(いつものハゲじじいもう5回シコシコ)、

公明党現職の山口公明党代表(誰もやりたがらない創価学会内の仕事を押し付けられているかわいそうな人)、

立憲民主党の塩村(東京で人気のいまでもオカズになるヌける熟女)、

共産党の吉良(共産党の女性アイドル、もう年だがまだまだエロオヤジに人気)、

立憲民主党の山岸(元朝日新聞政治部のメガネ、前頭ハゲ進行中)。

与党側3人当選、野党側3人当選で東京選挙区は与野党引き分け。


落選者で得票数第1位は維新の会の音喜多(東京都北区の区長選で落ちたのは悪口が書かれたせいだとして裁判で争っている最中のクズ、小池百合子都知事の元小間づかい、寄生できそうな政党につく虫)。


以上

819 :デフォルトの名無しさん:2019/07/15(月) 09:18:43.09 ID:lV5+33Om.net
お題
年金AI化をする

設計を考えよ

どの部分を人間にしてどの部分を機械にするか
っていうだけだと思うけど

すごい初級プログラマーでも作れちゃうほど簡単じゃねと気になった
あまりにかんたんで民間年金ですでにありそうだが

820 :デフォルトの名無しさん:2019/07/15(月) 10:34:42.46 ID:m4zcTbyh.net
>>819 Ruby
nenkin = 'A PENSION'
puts nenkin.split.tap{|o| o.last.replace(o.last[x.size >> o.first.size])}.join
# => AI

821 :デフォルトの名無しさん:2019/07/15(月) 10:43:37.19 ID:lV5+33Om.net
入金
銀行データ紹介
入金人数と金額確認 ←入力 新規入力者の確認 人力目視



出金人数と出勤額


みたいなかんじ

822 :デフォルトの名無しさん:2019/07/16(火) 02:32:24.14 ID:awioItM7.net
>>808
Kotlin
https://paiza.io/projects/ed7oOf_rIHOgekOlUxGYSQ
うっかり普通にフォーマットして3角に出るようにしてしまった。もっと簡単に出しても良かったんだな。

823 :デフォルトの名無しさん:2019/07/17(水) 18:49:01.14 ID:rBzTe21k.net
>>808 R
cat(11^(0:4),sep="\n")

824 :デフォルトの名無しさん:2019/07/17(水) 19:12:50.17 ID:O6R1hJD8.net
>>808 Pharo Smalltalk

(11 ** (0 to: 4)) rounded asStringWithCr

"=> '1
11
121
1331
14641' "

825 :蟻人間 :2019/07/17(水) 21:08:34.80 ID:zgAvRboO.net
お題:y=(1-x)(1+x)のx=-1〜1の区間を数値積分せよ。

826 :蟻人間 :2019/07/17(水) 21:47:30.35 ID:zgAvRboO.net
ε=0.01くらいの台形公式でいいや。

827 :デフォルトの名無しさん:2019/07/17(水) 21:48:18.54 ID:RL7WDafS.net
>>825
Integrate[(1-x)(1+x), {x, -1, 1}]
4/3

wolframcloud
ちょっと感動

828 :デフォルトの名無しさん:2019/07/17(水) 22:23:45.10 ID:FVhP9md/.net
>>825 Ruby

require 'polynomial'
require 'polynomial/calculus'

expr = Polynomial.new(1, -1) * Polynomial(1, 1)
puts expr.integrate(-1..1)
# => (4/3)

829 :デフォルトの名無しさん:2019/07/17(水) 23:18:48.71 ID:FVhP9md/.net
typo

> expr = Polynomial.new(1, -1) * Polynomial.new(1, 1)

830 :デフォルトの名無しさん:2019/07/17(水) 23:37:40.20 ID:t/SxdWuN.net
>>825 Squeak Smalltalk

(#(1 -1) collect: [:x | {0. 1. 0. -1/3} polynomialEval: x]) reduce: #-

"=> (4/3) "

831 :デフォルトの名無しさん:2019/07/18(木) 00:59:06.64 ID:A0LALR8k.net
>>830
small talkは何でもあんのな
毎回驚かされるわ ありがとな

832 :デフォルトの名無しさん:2019/07/18(木) 01:42:36.36 ID:4Fot9DWw.net
>>825 >>826 Perl5

#(x-1)(x+1)⇒1-x^2
#∫(1-x^2)⇒x-(x^3/3)
# [x-(x^3/3)] {-1, 1} ⇒ -1-(-1/3) + 1-(1/3)
# ⇒1 -1/3 - (-1+1/3) ⇒ 2 - 2/3 ⇒ 4/3
# 暗算でも定積分値を求めることはできるが、代わりに
# 幅0.01の台形法による数値計算で解を計算すると…
use List::Util sum;
$s = sum map{.01*(1-($_/100)**2)} -99..99;
print "$s\n";


実行結果
$ perl 14_824.pl
1.3333

833 :デフォルトの名無しさん:2019/07/18(木) 07:25:42.17 ID:r8faaY2+.net
>>831
せっかく驚いてくれているのに水を差すようで恐縮なのだけど
誤解があるといけないので念のため補足しておきますと
これは>>827-829みたいに数式処理をしているわけではなく
定積分の筆算を式にしただけ(つまり 1-x^2 の積分である
x-(1/3)x^3 に 1 を代入したときの値から -1 を代入した値を引いただけ)です

もとより #(a b c d) polynomialEval: x "=> a*x^0 + b*x^1 + c*x^2 + ..." みたいな機能が
組み込みで用意されている点では、
こういうとき式を書かずに済んで便利ではありますが^^;

834 :蟻人間 :2019/07/18(木) 12:47:19.12 ID:OgRfjymX.net
お題: マルバツゲームを作れ。

_1_2_3
1O|_|_
_ー+ー+ー
2_|X|_
_ー+ー+ー
3_|_|_

835 :蟻人間 :2019/07/18(木) 12:58:43.13 ID:OgRfjymX.net
(出力例)
プレーヤー1が先攻です。
プレーヤー1は何番に置きますか? 1
プレーヤー2は何番に置きますか? 5
...
プレーヤー2の勝ち。

O|2|3
ー+ー+ー
4|X|6
ー+ー+ー
7|8|9

836 :デフォルトの名無しさん:2019/07/18(木) 22:59:22.13 ID:e7HmHit7.net
マルバツゲームに便乗して…

お題:
3×3のマルバツゲームで両者がランダムな手を打つとき
先手の勝率、後手の勝率をそれぞれ求めよ。

837 :デフォルトの名無しさん:2019/07/18(木) 23:07:20.49 ID:xdHI+pcE.net
今、こういうお題を考えています

Ruby などの遅い言語でも解けるように、
盤面の大きさを、9*9 〜 13*13 ぐらいで考えていますが、どうでしょうか?

1. 開始点S(座標、0行0列)から終了点E までの、最小コストを求める。
2. S, E 双方から、E, S へ目指す場合に、最小コストで出会う座標と、その時のコストを求める

1ターンで、縦横1つ隣へ移動できる。
同じマスは、1回しか通らない。
数字が各マスへの移動コストで、_ は、単なる目印で無関係です

S2953_9413
71546_7988
83411_2946
23716_5426
47385_736E

838 :デフォルトの名無しさん:2019/07/19(金) 00:02:13.17 ID:52u6jutr.net
問題側が手加減してあげないと解けないポンコツ言語なんて放っとけば?

839 :836:2019/07/19(金) 00:20:37.85 ID:hngv4enD.net
>>837
ルールを修正

1. 開始点S(座標、0行0列)から終了点E までの、最小コストを求める。
2. S, E 双方から、双方が出会うように移動する時、最小コストで出会う座標と、その時のコストを求める。
この時の最小コストは、双方のコストを足したものです

1ターンで、縦横1つ隣のマスへ、必ず移動する。
自分が通ったマスは、1回しか通らないが、相手が通ったマスは、通れます

数字が各マスへの移動コストで、_ は、単なる目印で無関係です

この2は、かなり難しいのかな?
最小コストが求まるのかな?
漏れにも、わからない

840 :デフォルトの名無しさん:2019/07/19(金) 00:31:00.88 ID:uE+iP71G.net
>>839
迷惑だからちゃんと整理して解ける問題か確認してから書き込め。説明も下手すぎるからちゃんと推敲しろ。

841 :デフォルトの名無しさん:2019/07/19(金) 00:57:57.34 ID:KQ8wFSu5.net
だから自分で一度書いて動くのを確認してから出題しろと何度言えば…

842 :デフォルトの名無しさん:2019/07/19(金) 02:15:25.70 ID:ApXEphk2.net
>>835
common lisp
https://pastebin.com/TjpFVgBk

> (OX-game)
123/456/789 to write OX
|789|
|456|
|123|

| |
| |
| |
player-1 writing O to ...
1
| |
| |
|O |
player-2 writing X to ...
...
|XX |
| O |
|O |
player-1 writing O to ...
9
player-1 win
|XXO|
| O |
|O |

843 :デフォルトの名無しさん:2019/07/19(金) 02:16:34.42 ID:ApXEphk2.net
続き

player-2 writing X to ...
2
|X O|
|OOX|
|XXO|
player-1 writing O to ...
8
it's draw! finish a game without either one winning

844 :デフォルトの名無しさん:2019/07/19(金) 02:19:09.79 ID:ApXEphk2.net
2chのレイアウト変更を忘れてた
こうなる
https://i.imgur.com/h2VKHGc.jpg

845 :デフォルトの名無しさん:2019/07/19(金) 02:28:05.00 ID:ApXEphk2.net
深夜だからか貼り付けミスってた
>>842
https://pastebin.com/6ZRajAGz

846 :デフォルトの名無しさん:2019/07/19(金) 08:59:52.92 ID:MqWaI42B.net
「忘れてた」
「ミスってた」
「深夜だから」

847 :デフォルトの名無しさん:2019/07/20(土) 00:17:01.47 ID:fiB1nngo.net
>>837
最小重み経路問題かな?
軽く書いてみたけど、最短経路問題の3倍位難しい。
出直してくるわ。

848 :デフォルトの名無しさん:2019/07/20(土) 02:47:49.06 ID:fiB1nngo.net
>>837
https://ideone.com/PQwu2U
C++。出直してきたよ。
2パスになってる。
一回目は適当に上限値を取りに行って、二回目で本気探索する感じ。

849 ::2019/07/20(土) 08:18:17.29 ID:jbjCUWIF.net
お題と回答
>>5 : 6 10 32 36 44
>>9 : 15 34 35 79
>>11=>>575 : 48 (78) 138-139 (140) 142 146 151 154
>>19 :
>>50, https://mevius.5ch.net/test/read.cgi/tech/1549160513/920 : 4 85 89
https://mevius.5ch.net/test/read.cgi/tech/1549160513/988 == >>164 : 59 61 167 169 189 192 201 202
>>90 : 95 96
>>99 :
>>200 : 214 219
>>215 : 227
>>220 : 232 240 248 256 268
>>235 : 236 237 238 239 247 249 259 342 353
>>320 : 321 323 327 330 340
>>322 : 325 328 329 331 332 339 341 358 359

850 ::2019/07/20(土) 08:18:32.72 ID:jbjCUWIF.net
>>362 : 367 369 370 371 374 379 380 382 414
>>368 : 390
>>388 : 487 (488) 553 559
>>400 : 401
>>408 :
>>417 : 418 419 421 426 432 433 436 438 442 446 451 452 456 471 474 480 482 489 492 495 498 528 530 540
>>479 :
>>555 : 556 558 564 565
>>557 : 560 562 568 569
>>570 : 574 577
>>573 : 604 622
>>600 : 605 607 611 613 627 691
>>615,626 :
>>632 : 637 640 645 649 650 687 689-690

851 ::2019/07/20(土) 08:18:48.37 ID:jbjCUWIF.net
>>651 : 654 657 662 679 682
>>655 :
>>661 :
>>683 : 685
>>696,705,717,722 : 696 697 701 703 711 713 714 715 718 722 723 724 727 740-741
>>709 : 714
>>718 :
>>753 :
>>754 : (760)
>>768 : 775
>>779 : 779 788 (792) 794
>>790 : 790 (793)
>>808 : 810 811 812 814 815 816 821 823
>>825 : 826 827-828 829 831

852 ::2019/07/20(土) 08:19:03.91 ID:jbjCUWIF.net
>>834 : 841
>>836 :
>>837 : 847

853 :デフォルトの名無しさん:2019/07/20(土) 10:54:30.31 ID:ilSI1heG.net
迷惑だからやめろ
やるなら言語別集計とか少しでも付加価値を入れろ

854 :デフォルトの名無しさん:2019/07/20(土) 11:03:01.50 ID:eNhk7IpQ.net
留数定理も知らないくせにしゃしゃりでてんじゃねえぞクソコテ白痴クロッチロット野郎が

855 ::2019/07/20(土) 14:28:34.17 ID:jbjCUWIF.net
>>853
>言語別集計
次スレで採用しようと思います、このスレでよく使われる言語とその程度を棒グラフ的に認識したくなりました

856 :デフォルトの名無しさん:2019/07/20(土) 14:50:09.53 ID:OIy5RkDH.net
>>855
本当に申し訳ないんですがここに貼るないでもらっていいですか

857 :デフォルトの名無しさん:2019/07/20(土) 14:51:10.98 ID:OIy5RkDH.net
認識したいのならご自由にでも迷惑だからここには貼らないで

858 :デフォルトの名無しさん:2019/07/20(土) 15:04:46.84 ID:UpWxMySu.net
>>849
本当に迷惑だからやめろ
工夫なんか一切しなくていいから金輪際やめろ

859 :デフォルトの名無しさん:2019/07/20(土) 15:23:47.14 ID:QHhW8HGw.net
>>855
自分のPC上で好きなだけやれよ

860 :デフォルトの名無しさん:2019/07/20(土) 18:06:54.10 ID:k4+mr7b7.net
お題: できるだけ少ない回数で1から1000の数を判定しろ

入力: 775
出力 n==755

入力: 2,4, ...., 1000
出力 n%2

入力: 3,4,5,6, 10
出力 : n-3<=3 ||n==10

861 :デフォルトの名無しさん:2019/07/20(土) 18:27:26.16 ID:fiB1nngo.net
あっ。あっ。頭が!爆発!!しちゃうーーーーーーーー!!!

862 :デフォルトの名無しさん:2019/07/20(土) 19:19:03.53 ID:eeWyC8j7.net
>>860
> 入力: 2,4, ...., 1000
> 出力 n%2
これ間違えてね?

863 :デフォルトの名無しさん:2019/07/20(土) 19:25:23.08 ID:c0ewdrdO.net
桃白白改めミスターポポ改めピラフ改めピッコロさんは毎回適当に出題してるからね

864 :デフォルトの名無しさん:2019/07/20(土) 19:58:58.98 ID:k4+mr7b7.net
>>862
うん

865 :デフォルトの名無しさん:2019/07/20(土) 21:47:04.48 ID:riEgRod9.net
>>860
xy座標で y = xのn-1次以下の式が
n個の点があたえられると導けるから
その出力の一意性に疑問がある

866 :デフォルトの名無しさん:2019/07/20(土) 23:23:39.84 ID:ge7gFbNK.net
お題
正の整数nと、正の整数のリスト2つ
a_1, ..., a_k
b_1, ..., b_k
が与えられる。
これに対して以下の操作を繰り返す。

操作: n*a_i/b_iが整数になる最初のa_i/b_iをnに掛ける

この操作ができなくなる時が来るかどうか判定してください。

867 :デフォルトの名無しさん:2019/07/20(土) 23:44:40.61 ID:riEgRod9.net
>>866
lisp
(loop for a in '(1 4 3 4 5 6) for b in '(7 8 9 10 11 12) with n = 14 when (integerp (* (/ a b) n)) do (return (format t "a:~a b:~a" a b)) finally (princ "not found"))
a:1 b:7

(loop for a in '(1 4 3 4 5 6) for b in '(7 8 9 10 11 12) with n = 13 when (integerp (* (/ a b) n)) do (return (format t "a:~a b:~a" a b)) finally (princ "not found"))
not found

868 :デフォルトの名無しさん:2019/07/21(日) 00:23:35.41 ID:Bd+iRrer.net
>>854
頭のおかしいガイジのくせに数学を語ってんじゃねぇよ
ぶっ殺すぞガイジ
実関数もわかってねぇくせに複素関数を語ってんじゃねぇよ
おめえの腸を掘り出して排水溝に捨てるぞ

869 :デフォルトの名無しさん:2019/07/21(日) 00:27:00.70 ID:RHDfdbdw.net
>>867
説明が足りなかった
iを見つけたら
n = n*a_i/b_i
として同じことを繰り返す

870 :デフォルトの名無しさん:2019/07/21(日) 02:19:32.68 ID:m/GaQUZU.net
>>869
https://pastebin.com/QJzjZLWg
a:1 b:7 n:14
a:4 b:8 n:2
n finally 1

871 :デフォルトの名無しさん:2019/07/21(日) 03:17:35.19 ID:okP8VzSh.net
>>849
そのまとめ、専ブラ(ChMate)使ったら何も加工せずにより良い結果を表示できる
ってか、あんたの投稿で出題に無関係なレスもピックアップされてしまう
百害あって一利なし、なのでヤメてくれ

872 :デフォルトの名無しさん:2019/07/21(日) 08:20:50.09 ID:o8Rw7GgG.net
◆QZaw55cn4c のまとめ(と称した自己満足)は本当に迷惑だからやめてほしい

873 :デフォルトの名無しさん:2019/07/21(日) 09:52:12.84 ID:z5eK/QET.net
>>868
コテハン付け忘れてんぞw

874 ::2019/07/21(日) 12:17:22.63 ID:vddupZNY.net
>>871
その専用ブラウザはアンカーのほかにスレッドURLにも対応していますか?
https://mevius.5ch.net/test/read.cgi/tech/1558168409/834 : 841
https://mevius.5ch.net/test/read.cgi/tech/1558168409/836
https://mevius.5ch.net/test/read.cgi/tech/1558168409/837 : 847
こういう形式であってもピックアップする機能があるのですか?

875 :デフォルトの名無しさん:2019/07/21(日) 12:22:59.36 ID:JSHlhL4U.net
とにかく迷惑だからやめろ

876 :デフォルトの名無しさん:2019/07/21(日) 12:37:24.29 ID:m/GaQUZU.net
>>874
おまえも一応プログラマだろ
本当に自分でそれ書けないのか?

877 ::2019/07/21(日) 13:08:23.15 ID:vddupZNY.net
>>876
>>874 は実害報告(>>871) に対する回避策への調査であり、プログラミング可能性とは関係ないでしょう

878 :デフォルトの名無しさん:2019/07/21(日) 13:14:57.26 ID:6reBljd1.net
>>877
回避策も何も、お前が書き込みをやめればすむだけの話だ

879 :デフォルトの名無しさん:2019/07/21(日) 14:00:38.73 ID:LwmwcwKU.net
なんで手間暇かけて他人の嫌がる余計なことするのかね
ろくな回答書けないなら黙ってROMってろって思うわ

880 :デフォルトの名無しさん:2019/07/21(日) 14:03:18.32 ID:DBsZJ8x+.net
これだから朝鮮人は嫌われるんだよ

881 :デフォルトの名無しさん:2019/07/21(日) 14:51:20.84 ID:5KK3hTpc.net
https://ideone.com/37oWvg
質問だけど、>>837 のループ展開版書いてたんだけど、
終了条件わからないんだけど、どうしたらいいと思う?

882 :デフォルトの名無しさん:2019/07/21(日) 15:57:20.08 ID:5KK3hTpc.net
https://ideone.com/lOmm7w
>>837
C++。できた。終了位置がレンジ外だったりした。
ただ、いじりすぎてロックインしてないか心配だ。

概要としては、最小重み経路問題の非再帰関数バージョン。のはず。

883 :デフォルトの名無しさん:2019/07/21(日) 16:07:33.87 ID:5KK3hTpc.net
なんか降ってきたわ。ありがたやー。

884 :デフォルトの名無しさん:2019/07/21(日) 21:50:34.29 ID:WILkXhL9.net
>>866
問題かよくわからない。a_i/b_iをnに掛けた結果をどうするのか?何かに代入するのか?

885 :デフォルトの名無しさん:2019/07/21(日) 22:55:45.10 ID:tHXql6vE.net
n*a_i/b_iが整数になったらnにそれを代入して、もう一度頭から繰り返すんじゃろ
で、無限にその操作を繰り返せるのか途中で終わるのかを判定する

886 :デフォルトの名無しさん:2019/07/22(月) 04:31:58.44 ID:Q+N+yzYS.net
>>874
スレッドURLにも対応してる、しつこいよあんた

887 :デフォルトの名無しさん:2019/07/22(月) 04:43:22.10 ID:wriJoSF9.net
>>874は百害あって一理なし

888 :デフォルトの名無しさん:2019/07/22(月) 05:57:37.39 ID:R4+31Tcv.net
QZとか言う馬鹿は自分がやっている事がことごとく嫌がらせになっているというのにも
全く気づいてないんだろうなあ

889 :デフォルトの名無しさん:2019/07/22(月) 10:03:01.17 ID:xuhhP9lh.net
おまけにこの糞コテは数学もまともにできない低能

890 :デフォルトの名無しさん:2019/07/22(月) 11:18:34.47 ID:wZJ8iqbX.net
良かれと思ってやったのに迷惑だと言われる
千羽づるみたいだなって思いました

891 :デフォルトの名無しさん:2019/07/22(月) 11:35:03.07 ID:sp7+c3NQ.net
>>890
千羽鶴なら日本の文化だからまだいいよ
QZのは明らかに異国の匂いがする

892 :デフォルトの名無しさん:2019/07/22(月) 11:38:44.03 ID:RNJMLfCg.net
>>890
千羽鶴なら独善ではあっても善意のつもりだというのは分かるが、QZのは他人のためでなく自分がそうしたいというだけの理由だから、より嫌われる

893 :836:2019/07/22(月) 14:11:57.23 ID:GAEqWBnq.net
お題・ルールは、
>>839
のままで良いです

マスは、11 * 11 で、やってみましょう!

空行・_ は、単に見やすくしただけなので、無視してください

S2953_94137_3
71546_79881_4
83411_29465_2
23716_54268_4
47385_73638_9

55263_74296_1
34945_87362_5
96755_42186_7
14893_12472_6
71911_47852_1

29437_95134_E

894 :デフォルトの名無しさん:2019/07/22(月) 17:05:26.62 ID:mrS8zraI.net
>>893
https://ideone.com/aTBvPq
C++。あってるかはしらねーが、初期値を与えなおしてみたよ。

895 :デフォルトの名無しさん:2019/07/22(月) 17:08:22.90 ID:mrS8zraI.net
>>893
問い2は道順取れてるので頭と尻尾から配列なめてけば一応、かち合う場所が取れるよ。

896 :デフォルトの名無しさん:2019/07/22(月) 17:53:24.27 ID:mrS8zraI.net
https://ideone.com/ymnJMi
C++。バグがあったので直した。
最初の数値が固定値だったので、マスの値に変更した。

897 :デフォルトの名無しさん:2019/07/22(月) 19:52:32.52 ID:27NBQOQ4.net
S66
996
19E

超単純化した↑の場合
問1の場合はコスト18
問2の場合は座標(0,2) コスト19
で良いんだよな?

898 :デフォルトの名無しさん:2019/07/22(月) 20:21:15.73 ID:mrS8zraI.net
ホンダがらったフンだがらったヘンだがらった!フンフン!!

いでよ、主催者!!!

899 :デフォルトの名無しさん:2019/07/22(月) 20:27:49.31 ID:vmYUDJ0J.net
>>898
ここには特に主催している人は居ないし、そもそも組織になっていない。各個人か勝手にお題を出して解きたい人が解いてるだけ。
おそらく常連は居るだろうが基本的に匿名で誰が誰だかよくわからず、人か入れ替わっていてもわからない。

900 :デフォルトの名無しさん:2019/07/22(月) 22:09:07.24 ID:zz8dj3fo.net
問1ってダイクストラ法まんまでいいの?

901 :836:2019/07/23(火) 09:29:05.01 ID:5GIBUFQK.net
問2 について考えてみた

最短ターンでは、10ターンで、双方が出会うけど、
その時の双方を足したコストが、最小とは限らない!

だから迂回路の場合、つまり、11ターン以上で出会うマスも、すべて考慮して、
その中から最小コストを選ぶ必要がある

例えば、あるマスが、S・E 双方から12ターンなど

その際、双方からのターン数が異なる場合は、関係ない。
例えば、あるマスが、Sから11ターンで、Eから13ターンなど

>>900
ダイクストラ法で良い。
漏れは、総当たりでやってみる

902 :836:2019/07/23(火) 09:37:45.12 ID:5GIBUFQK.net
>>897
問1 は、6 + 6 + 6 = 18

問2 は、左下の1 の所で出会うのなら、
S から、9 + 1 = 10
E から、9 + 1 = 10
で、合計20

出会うマスのコストを2回足しているけど、これで良いか

903 :デフォルトの名無しさん:2019/07/23(火) 13:22:20.59 ID:QB0eaOex.net
>>899
あ、それはわかってるよ。
問題の主催者(>>837)を呼びたかった。
やってきたので召喚成功だ。

ふふ。

904 :デフォルトの名無しさん:2019/07/23(火) 16:42:15.95 ID:0hlsR1TA.net
Sは左上、Eは右下、盤面は正方形で良いのか?それともそれ以外のパターンも考慮しなきゃいけないのか

905 :836:2019/07/23(火) 17:53:12.70 ID:5GIBUFQK.net
>>904
正方形ではなく、長方形だね

マスの座標は、行列の順で、開始点は( 行0, 列0 )

漏れは、盤面の周囲に、番兵を置いて、考えてます

906 :896:2019/07/23(火) 18:05:44.96 ID:GpNXeX+q.net
>>902
うん、ぼけてた
コスト20やなw

問2で盤面サイズが奇数x偶数とかの場合はゴールはどう考えればいいの? 同時移動だとすれ違っちゃうが
Sが常に先に動く (Eが居るところで合流)
Eが常に先に動く (Sが居るところで合流)
SとE好きな方が先に動く (コストが低いマスの方で合流)
SとEが同時に動く (すれ違って合流できない? 中間点で合流? その場合のコストは?)

たとえば S12E とかの場合

907 :836:2019/07/23(火) 20:32:34.55 ID:5GIBUFQK.net
盤面のサイズが偶数では、問2 は無理

必ず、奇数×奇数

908 ::2019/07/23(火) 21:26:26.55 ID:JcFEdZGk.net
>>886
回答いただき感謝いたします

909 :デフォルトの名無しさん:2019/07/23(火) 22:05:37.82 ID:GpNXeX+q.net
>>907
偶数×偶数も行けるやろ
偶数×奇数、奇数×偶数は無理だが

910 :デフォルトの名無しさん:2019/07/24(水) 14:07:43.24 ID:i9YSslum.net
目の前で出会うことが目的じゃないの?

911 :デフォルトの名無しさん:2019/07/25(木) 16:00:43.87 ID:JLY47fmQ.net
任意の整数を引数に取り、フィボナッチ数か判別するisfib関数を作れ。
なお、フィボナッチ数では無い場合任意の整数と-1の組(Cなどは代わりの物)を、
フィボナッチ数ならフィボナッチ数=任意の整数とそれがフィボナッチ数列の何番めかを表す数の組を返す事。

例:
isfib 0 = (0,1)
isfib 1 = (1,2)
isfib 2 = (2,4)
isfib 3 = (3,5)
isfib 4 = (4,-1)
isfib 5 = (5,6)

912 :デフォルトの名無しさん:2019/07/25(木) 18:03:38.63 ID:D8pzUtDE.net
>>911
Common Lisp
https://pastebin.com/qqYUKSem

出力
(loop for i from 0 to 6 do (isfib i))
(0 . 1)
(1 . 2)
(2 . 4)
(3 . 5)
(4 . -1)
(5 . 6)
(6 . -1)

913 :デフォルトの名無しさん:2019/07/26(金) 01:20:21.47 ID:E/v28Z/A.net
>>911 Perl5

sub isfib {
 $v = shift;
 %h = map{$_ => $_} @s = (0,1);
 do {
  $f = $s[-2] + $s[-1];
  push @s, $f;
  $h{$f} //= @s;
 } while $f < $v;
 ($v, $h{$v} // -1);
}
printf "isfib $_ = (%d,%d)\n", isfib $_ for 0..5;

実行結果
$ perl 14_910_isfib.pl
isfib 0 = (0,0)
isfib 1 = (1,1)
isfib 2 = (2,4)
isfib 3 = (3,5)
isfib 4 = (4,-1)
isfib 5 = (5,6)

914 :デフォルトの名無しさん:2019/07/26(金) 06:33:07.15 ID:NUjZudpe.net
>>911 Lua
function isFib(n)
  local a, b, c = 0, 1, 1
  while a < n do
    a, b, c = b, a + b, c + 1
  end
  if a ~= n then c = -1 end
  return n, c
end

915 :836:2019/07/26(金) 09:34:26.36 ID:54Ib42km.net
>>909-910
確かに、偶数×偶数は、
同じターンで、同じマスに入れますね!

S1
2E

S12
34E

916 :デフォルトの名無しさん:2019/07/26(金) 09:50:12.39 ID:rMhs1i6l.net
>>911
戻り値がbooleanじゃないのが気持ち悪い

917 :デフォルトの名無しさん:2019/07/26(金) 21:09:58.82 ID:D2C6zjmj.net
>>914
4のとき
isfib 4 = (5,-1)
にならない?

918 :デフォルトの名無しさん:2019/07/26(金) 22:09:57.95 ID:wMkqv1Wf.net
「何番目かを返す」ってのが地味に難しいな
そこまでの全てのフィボナッチ数を求めないと無理じゃね?

919 :デフォルトの名無しさん:2019/07/26(金) 22:53:34.40 ID:XK3Q7RTy.net
>>917 勘違いした
isfib 4 = (4,-1)
になる。合っている。

920 :デフォルトの名無しさん:2019/07/26(金) 23:11:48.79 ID:PBeJ5BeU.net
キャッシュ層込みの問題だな

921 :蟻人間 :2019/07/26(金) 23:31:36.17 ID:HmAxaouE.net
お題: 水素原子、酸素原子、炭素原子からなる分子の化学式が与えられる。原子の種類と個数から考えられる分子構造をデータ構造で表現し、コンソール画面に可能なかぎり表示しなさい。

(例)
H2O --> H - O - H
CO2 --> O = C = O
CH4 -->
  H
 |
H- C - H
  |
  H

922 :蟻人間 :2019/07/26(金) 23:39:37.50 ID:HmAxaouE.net
(例2) 図式化が難しければ、データ構造だけでもいい。

CO2 → (C, O, O), ((0, 1), (0, 2)).
H2O → (H, H, O), ((0, 2), (1, 2)).
CH4 → (C, H, H, H), ((0, 1), (0, 2), (0, 3)).

923 :デフォルトの名無しさん:2019/07/26(金) 23:40:57.41 ID:XK3Q7RTy.net
>>921
サンプル回答キボンヌ

924 :蟻人間 :2019/07/26(金) 23:42:34.11 ID:HmAxaouE.net
>>922
訂正。
CH4 → (C, H, H, H, H), ((0, 1), (0, 2), (0, 3), (0, 4)).

925 :デフォルトの名無しさん:2019/07/26(金) 23:45:02.28 ID:PBeJ5BeU.net
>>921
ベンゼン寒とかシクロヘキサン
3、5つあたりも鬼門か?

926 :蟻人間 :2019/07/26(金) 23:47:59.42 ID:HmAxaouE.net
図式化は不可能に近いようだ。データ構造だけでOK.

927 :デフォルトの名無しさん:2019/07/26(金) 23:48:10.95 ID:XK3Q7RTy.net
そいうこと考えてから出題ヨロ

928 :蟻人間 :2019/07/27(土) 00:19:22.73 ID:P0VdsVRX.net
備考。

ここでは単純のために「結合の手」を使ったモデルで考える。
原子によって結合の手の個数は決まっている(Cは4個、Oは2個、Hは1個)。
結合の手が余らないような分子構造のみを考える(一酸化炭素COのような構造は除外する)。

929 :蟻人間 :2019/07/27(土) 00:22:04.97 ID:P0VdsVRX.net
電荷を持たない分子だけを対象とする。イオンではない。

930 :デフォルトの名無しさん:2019/07/27(土) 00:24:45.04 ID:A58wSpEe.net
ヨーク考えて、出題するレベルに練りあがってから出直したらどうですか

931 :デフォルトの名無しさん:2019/07/27(土) 03:29:25.97 ID:IOXz7NXW.net
うわーおQZってまだ生きてたのか
昔NG推奨にしてスレ立てたような気がしたんだが

932 :デフォルトの名無しさん:2019/07/27(土) 06:20:15.81 ID:vbPXi5Ru.net
>>931
以下のレスのように、相変わらず身勝手なレスを繰り返してるよ

https://mevius.5ch.net/test/read.cgi/tech/1562581391/575

933 :デフォルトの名無しさん:2019/07/27(土) 06:23:51.65 ID:Okexx4cI.net
>>918
一般項 f(n) = (φ^n - (-φ)^(-n)) / sqrt(5) はnに対して狭義単調増加なので逆写像 fi(n) が存在して当然 fi・f(n) = n が成り立つ。
従って「そこまでの全てのフィボナッチ数を求めないと無理」は偽である。

934 :デフォルトの名無しさん:2019/07/27(土) 06:26:39.77 ID:Okexx4cI.net
>>921
化学式と分子構造は一対一対応してねえよ
そんなの今日日高校生ですら理解してるわ
二度と書き込むな

935 :デフォルトの名無しさん:2019/07/27(土) 10:14:18.78 ID:yKuZ7Tou.net
お題
非負整数m, nに対し、
f(m, n)= n+1 if m==0
f(m, n) = f(m-1, 1) if n == 0
f(m, n) = f(m-1, f(m, n-1)) otherwise
なるf(m, n)の値を求めよ

f(2, 1) = ?
f(4, 1) = ?

936 :デフォルトの名無しさん:2019/07/27(土) 10:45:11.97 ID:aB6NIKG8.net
>>911
https://ideone.com/S7V4hf
C++。どや!

937 :デフォルトの名無しさん:2019/07/27(土) 10:56:52.18 ID:aB6NIKG8.net
>>935
https://ideone.com/zaOvTK
C++。2個目がスタックオーバーフローだと思う。

938 :デフォルトの名無しさん:2019/07/27(土) 11:08:11.84 ID:tV8GDyIW.net
>>933
あのさ、簡単に言うけどその逆関数は複素関数になるぞ
そこまで言うなら逆関数を使ってnを求めるプログラムを書いてみろ
ここはム板だ

939 :デフォルトの名無しさん:2019/07/27(土) 11:11:50.71 ID:1cAkezH+.net
>>935
perl5
https://pastebin.com/xxirNWW3

f(4,1) はPCが帰ってこなくなったからやらない
f(2,1) は5だった

940 :デフォルトの名無しさん:2019/07/27(土) 11:57:13.11 ID:g91Bo5NE.net
>>935
C++
http://ideone.com/5Y9XT3

941 :デフォルトの名無しさん:2019/07/27(土) 12:10:03.51 ID:aB6NIKG8.net
え?メモ化したら解けるの??
ガーン。

942 ::2019/07/27(土) 12:26:28.44 ID:BeYdmmLD.net
お題と回答
5 : 6 10 32 36 44
9 : 15 34 35 79
11=575 : 48 (78) 138-139 (140) 142 146 151 154
19 :
50, https://mevius.5ch.net/test/read.cgi/tech/1549160513/920 : 4 85 89
https://mevius.5ch.net/test/read.cgi/tech/1549160513/988 == 164 : 59 61 167 169 189 192 201 202
90 : 95 96
99 :
200 : 214 219
215 : 227
220 : 232 240 248 256 268
235 : 236 237 238 239 247 249 259 342 353
320 : 321 323 327 330 340
322 : 325 328 329 331 332 339 341 358 359
362 : 367 369 370 371 374 379 380 382 414
368 : 390
388 : 487 (488) 553 559
400 : 401
408 :
417 : 418 419 421 426 432 433 436 438 442 446 451 452 456 471 474 480 482 489 492 495 498 528 530 540
479 :
555 : 556 558 564 565
557 : 560 562 568 569
570 : 574 577
573 : 604 622
600 : 605 607 611 613 627 691
615,626 :
632 : 637 640 645 649 650 687 689-690
651 : 654 657 662 679 682

943 ::2019/07/27(土) 12:27:01.61 ID:BeYdmmLD.net
655 :
661 :
683 : 685
695,704,716,721 : 696 697 701 703 711 713 714 715 718 722 723 724 727 740-741
708 : 714
717 :
752 :
753 : (760)
767 : 775
778 : 779 788 (792) 794
789 : 790 (793)
807 : 810 811 812 814 815 816 821 823
824 : 826 827-828 829 831
833 : 841
835 :
836,838,892 : 847 880 881 893 895
865,868 : 866 868
910 : 911 912 913 935
934 : 936 938 939

944 :デフォルトの名無しさん:2019/07/27(土) 12:28:33.93 ID:aB6NIKG8.net
https://ideone.com/iEyKYb
C++。constexprでもダメだったよ。

945 :デフォルトの名無しさん:2019/07/27(土) 12:36:01.98 ID:1cAkezH+.net
ああ まただよ(笑)

946 :デフォルトの名無しさん:2019/07/27(土) 12:37:09.52 ID:aB6NIKG8.net
d -_- b

947 :デフォルトの名無しさん:2019/07/27(土) 13:05:36.13 ID:hLAGzHLQ.net
>>942-943
統合失調症患者はどっか逝け

948 :デフォルトの名無しさん:2019/07/27(土) 14:28:16.32 ID:eTs80TG9.net
お題: cpu温度を表示せよ

949 :デフォルトの名無しさん:2019/07/27(土) 15:01:57.99 ID:Okexx4cI.net
>>938
論点ずらすな
「〜は無理」って言ってるからそれを否定しただけ
ただ 1 <= n <= 2 で狭義単調増加じゃないからそこだけは訂正しておくが

てかどんな頭で考えたらこの逆関数が複素関数になるんだか
可哀そうだから答え書いといてあげるけどさ
fi(x) = (log(sqrt(5) * x + sqrt(5 * x^2 - 4 * (-1)^((x + 1) % 3))) - log(2)) / log(φ)

950 :デフォルトの名無しさん:2019/07/27(土) 15:15:49.31 ID:b5LHfPHC.net
>>949
CやC++で ^ はXOR演算子なんだが

951 :デフォルトの名無しさん:2019/07/27(土) 15:20:43.26 ID:aB6NIKG8.net
ファイが何を指しているか・・・わからない・・・。
その定数5のいみがわからない。


そんな、ホラー。

952 :デフォルトの名無しさん:2019/07/27(土) 15:23:42.00 ID:Okexx4cI.net
動物園かよここは……

黄金比 φ := (1 + sqrt(5)) / 2

>>950
お前は一生クワス算でもやってろ

953 :デフォルトの名無しさん:2019/07/27(土) 15:26:08.80 ID:b5LHfPHC.net
>>952
そんなもん知ってるわアホ
上から目線で偉そうに

954 :デフォルトの名無しさん:2019/07/27(土) 15:28:08.33 ID:Okexx4cI.net
>>953
意味不明すぎてくっそ笑ったwww
自らの頭の悪さにキレててウケる

955 :デフォルトの名無しさん:2019/07/27(土) 15:29:41.45 ID:IpJBqisA.net
おおかた、数学的には反論できなくて悔しくなってc++では〜などという難癖をつけたのだろう
これ以上はスレチだからどっかよそでやれ

956 :デフォルトの名無しさん:2019/07/27(土) 15:31:02.81 ID:O5H2zazt.net
反論とかワロス
数学板でやれ

957 :蟻人間 :2019/07/27(土) 15:33:55.84 ID:P0VdsVRX.net
phi

958 :デフォルトの名無しさん:2019/07/27(土) 15:35:44.71 ID:d+qHn5lK.net
数学(?)の話してんのにCやC++で ^ はXOR演算子なんだがとかいうやつ初めて見たわ
無能アピールだとしたらこれ以上ないくらいに効果出てるな

959 :デフォルトの名無しさん:2019/07/27(土) 15:40:02.09 ID:z4Poa3yK.net
数学の話は数学板で

960 :デフォルトの名無しさん:2019/07/27(土) 15:40:49.84 ID:7QbyGuYU.net
>そこまで言うなら逆関数を使ってnを求めるプログラムを書いてみろ!
どうせ無理だと思ってタンカを切ったら相手にあっさり答えを書かれてしまう(ついでに自分の間違いまで指摘されてしまう)
もし俺がこいつだったら、恥ずかしくなりすぎてXOR演算子云々で話をうやむやにする気持ちもわかるぞ

961 :デフォルトの名無しさん:2019/07/27(土) 15:48:04.56 ID:aB6NIKG8.net
>>952
https://ideone.com/PMTi9h
C++。コードに落としてみたけど、数学解らないから教えて。
フォークしてもいいよ。

962 :デフォルトの名無しさん:2019/07/27(土) 15:51:41.66 ID:aB6NIKG8.net
作ってて思ったのはね。
片方の関数は、フィボナッチ数知らないと動作しないのじゃないかということ。
片方の関数は、フィボナッチ数もとめにいくんだけど。

んで、鳥と卵の問題に見えるので、どういう風に使えばよいのかわからない。

963 :デフォルトの名無しさん:2019/07/27(土) 15:52:21.85 ID:3aZcsmVe.net
答え:カモノハシ

964 :デフォルトの名無しさん:2019/07/27(土) 15:57:38.07 ID:Okexx4cI.net
>>961
Fiの分子が微妙に違ったので訂正しておいたよ
https://ideone.com/SNN3mV

965 :デフォルトの名無しさん:2019/07/27(土) 16:04:37.22 ID:f7WK2xYd.net
炎上学習法か
例の頭のおかしな人かな?

966 :デフォルトの名無しさん:2019/07/27(土) 16:04:59.65 ID:1cAkezH+.net
あの逆関数?を単純に放りこんだら解けなかった
一筋縄じゃいかないね

Solve[(Log(Sqrt(5) * x + Sqrt(5 * x^2 - 4 * (-1)^((x + 1) % 3))) - Log(2)) *2/(1 + Sqrt(5)) ==5,x]
Solve::nsmet: This system cannot be solved with the methods available to Solve.

967 :デフォルトの名無しさん:2019/07/27(土) 16:07:23.94 ID:1cAkezH+.net
() [] に上の式を正しくなおしたがやはりだめだ

968 :デフォルトの名無しさん:2019/07/27(土) 16:08:06.87 ID:7aZqje0Z.net
>>965
お前もまだいたの

969 :デフォルトの名無しさん:2019/07/27(土) 16:08:36.42 ID:aB6NIKG8.net
>>964
https://ideone.com/qN8CCx
幾つかNANになったのはコンピュータの問題かなぁ??
あんまり詳しくないんだけど。

中央値がきれいに取れてるので、境界線系のエラーもあり得る。

970 :デフォルトの名無しさん:2019/07/27(土) 16:13:46.18 ID:aB6NIKG8.net
しかしまー、数式で可逆式まで考えられるモノなのだねぇ。感心するわ。。。

971 :デフォルトの名無しさん:2019/07/27(土) 16:27:26.01 ID:aB6NIKG8.net
>>911 の題意からすると、こんな感じ?
https://ideone.com/WLv6dA

>>933の「有効」でエンド。

972 :デフォルトの名無しさん:2019/07/27(土) 16:30:29.90 ID:aB6NIKG8.net
いや、「技あり」か。

973 :デフォルトの名無しさん:2019/07/27(土) 16:48:31.50 ID:Okexx4cI.net
>>969
それのstd::pow(-1, 〜) が問題なので書き換えた
多少の誤差はあれどn = 2 を除いて右側の数字は0, 1, ..., 127と並んでいるよね
https://ideone.com/X7WSxR

974 :デフォルトの名無しさん:2019/07/27(土) 16:51:51.51 ID:aB6NIKG8.net
>>973
大体、求まってるね。

あなたつよいわ〜。
ここまで出来たら、あとは見せ方。

975 :デフォルトの名無しさん:2019/07/27(土) 16:54:46.18 ID:aB6NIKG8.net
念のため言っておくと、ideonは実行後コードと同じページにstdoutを表示する。

976 :デフォルトの名無しさん:2019/07/27(土) 16:59:41.70 ID:aB6NIKG8.net
>>973
三項演算子は、返す型が同じじゃないとエラーを吐く。
doubleとchar[]になってる。

977 :デフォルトの名無しさん:2019/07/27(土) 17:02:12.84 ID:aB6NIKG8.net
お、動いたか。

とりあえず、この辺で抜けるわ。
まったねー。

978 ::2019/07/27(土) 20:21:38.01 ID:BeYdmmLD.net
>>935
アッカーマン関数であることにやっと気がつきました…

979 :デフォルトの名無しさん:2019/07/27(土) 20:47:31.60 ID:POROMEeh.net
>>978
どうてもいいけどお前は荒らすな

980 :デフォルトの名無しさん:2019/07/27(土) 22:43:52.75 ID:JtBf7oRg.net
>>973
誤差ないプログラム書けよ

981 :デフォルトの名無しさん:2019/07/27(土) 23:00:24.26 ID:JtBf7oRg.net
>>949
その式自分で考えた?
あと、>>935 の回答としてnが小さいときだけとか制約がある?

982 :デフォルトの名無しさん:2019/07/28(日) 01:17:00.04 ID:+ByOW8ha.net
お題
括弧のネストの深さの最大値を求めよ
括弧の対応が取れていない場合は-1を出力せよ


"{}" => 1
"}{" => -1
"" => 0
"{{{}{}}}{}" => 3

983 :デフォルトの名無しさん:2019/07/28(日) 02:35:31.10 ID:/N9EqgUo.net
>>982
python3
http://ideone.com/Nuqjvc

984 :デフォルトの名無しさん:2019/07/28(日) 04:13:25.02 ID:QWXlr9dJ.net
>>911
Pythonで素直に書くとこんな感じ。

http://ideone.com/3HvxyP

これをそのままHaskellで書くと負けるが、こっちならPythonに勝つる。

http://ideone.com/iwLONj

985 :デフォルトの名無しさん:2019/07/28(日) 06:16:51.79 ID:YNZYuVVC.net
>>982 Ruby

f = -> str {s = -str; (0..1.0/0).each{|i| s.gsub!('{}', '') || (break s.size.zero? ? i : -1)}}
['{}', '}{', '', '{{{}{}}}{}'].each{|e| puts "%p => %d" % [e, f[e]]}

# =>
"{}" => 1
"}{" => -1
"" => 0
"{{{}{}}}{}" => 3

986 :デフォルトの名無しさん:2019/07/28(日) 12:26:21.14 ID:/N9EqgUo.net
>>982
perl5
http://ideone.com/HOpSCt

言語変えたらより見やすくなった

987 :デフォルトの名無しさん:2019/07/28(日) 14:44:03.09 ID:NJaTvOic.net
>>982 Perl5

use List::Util 'max';
%h = qw({ 1 } -1);
for ('{}', '}{', '', '{{{}{}}}{}') {
 ($l, $m) = (0, 0);
 for (map{$h{$_}} split'') {
  $l += $_;
  $m = max $l, $m;
  last if $l < 0;
 }
 $m = -1 if $l;
 print "'$_' => $m\n";
}

実行結果
$ perl 14_981.pl
'{}' => 1
'}{' => -1
'' => 0
'{{{}{}}}{}' => 3

988 :デフォルトの名無しさん:2019/07/28(日) 16:06:00.72 ID:T1A0+dDM.net
>>980-981
もともと提示されてたのは式だけだし、式自体に誤差はないじゃん。アホなの?
てかさ、(-1)^((x+1)%3)で場合分けを吸収してるところは素直に上手いなぁとは思うけど元のフィボナッチ数列の式からの変形自体は高校生レベルじゃんこれ
「自分で考えたの?」てお前アホなの?
誰が解いても上の部分以外は同じになるっつーの

「2次方程式の解の公式で解きました!」
「その公式って自分で考えたの?」
くらい間抜けでアホ馬鹿丸出し生きる価値無し短小包茎白癬菌

989 :デフォルトの名無しさん:2019/07/28(日) 17:09:34.39 ID:a6lmPEp9.net
むきになって長文書くなよ
迷惑行為だぜ

990 :デフォルトの名無しさん:2019/07/28(日) 17:23:37.85 ID:6a78I9O8.net
基地外だから仕方ないね

991 :蟻人間 :2019/07/28(日) 18:48:49.76 ID:38YML8XX.net
そろそろ次のスレ

992 :デフォルトの名無しさん:2019/07/28(日) 18:51:08.82 ID:vDw8KJqW.net
まだ早い

993 :デフォルトの名無しさん:2019/07/28(日) 19:41:08.34 ID:832c/ukY.net
次スレ
http://mevius.5ch.net/test/read.cgi/tech/1564310397/

994 :デフォルトの名無しさん:2019/07/28(日) 19:42:06.95 ID:bnGezINl.net
>>993
おつ

995 ::2019/07/28(日) 23:35:47.94 ID:GPK25ks7.net
>>993
お疲れさまです…

996 :デフォルトの名無しさん:2019/07/28(日) 23:40:41.46 ID:/N9EqgUo.net
>>995
書き込み禁止

997 ::2019/07/28(日) 23:50:56.98 ID:GPK25ks7.net
>>996
はいはい&hearts;

998 :デフォルトの名無しさん:2019/07/29(月) 20:09:26.82 ID:p0mLxaof.net
お題: このスレッドのアンカーの数を出力せよ

999 :デフォルトの名無しさん:2019/07/29(月) 20:11:57.84 ID:VkmvAKd6.net
w3m https://mevius.5ch.net/test/read.cgi/tech/1558168409/| grep -o ">>[0-9]" | wc -l
909

あれのせいだな

1000 :デフォルトの名無しさん:2019/07/30(火) 05:43:03.94 ID:RYwsY7rK.net
>>164
あまり他の言語にない redo を使う perl5
http://ideone.com/46mcQl

1001 :デフォルトの名無しさん:2019/07/30(火) 07:12:39.03 ID:RYwsY7rK.net
>>417
13694289/134217728
を使えば満足するだろうか?なぜなら
(rational
0.102030405060708090
10011012013014015016
01701801902002102202
30240250260270280290
30031032033034035036
03703803904004104204
30440450460470480490
50051052053054055056
05705805906006106206
30640650660670680690
70071072073074075076
07707807908008108208
30840850860870880890
90091092093094095096
0970980990100
)
13694289/134217728

1002 :2ch.net投稿限界:Over 1000 Thread
2ch.netからのレス数が1000に到達しました。

総レス数 1002
349 KB
掲示板に戻る 全部 前100 次100 最新50
read.cgi ver 2014.07.20.01.SC 2014/07/20 D ★