- 1 名前:デフォルトの名無しさん [2019/02/03(日) 11:21:53.20 ID:72eosYJ+.net]
- プログラミングのお題スレです。
【出題と回答例】 1 名前:デフォルトの名無しさん お題:お題本文 2 名前:デフォルトの名無しさん >>1 使用言語 回答本文 結果がある場合はそれも 【ソースコードが長くなったら】 (オンラインでコードを実行できる) https://ideone.com/ codepad.org/ compileonline.com/ rextester.com/runcode https://runnable.com/ https://code.hackerearth.com/ melpon.org/wandbox https://paiza.io/ 宿題は宿題スレがあるのでそちらへ。 ※前スレ https://mevius.2ch.net/test/read.cgi/tech/1538096947/
- 984 名前:デフォルトの名無しさん mailto:sage [2019/05/17(金) 19:50:16.70 ID:Jb6joIEA.net]
- 教養のないやつに限ってブチ切れる
- 985 名前:デフォルトの名無しさん mailto:sage [2019/05/17(金) 20:11:05.80 ID:KIX3RA0i.net]
- >>952
桃白白改めミスターポポ改めピラフ改めピッコロさん、くだらない出題はやめてください
- 986 名前:デフォルトの名無しさん mailto:sage [2019/05/17(金) 20:11:56.63 ID:9a+COZnd.net]
- >>964 で、どんな問題なんだ? プログラミングできる仕様として出してくれよ。
- 987 名前: mailto:sage [2019/05/17(金) 20:21:17.94 ID:e+Q6zZPk.net]
- >>961
単射でないとなると、n に対して n % 10 を対応付けるとかもありになりますね… >>962 全射、単射、全単射とかは普通に使う単語ですよ、知らないのなら、これらの術語を含む数学の本…代数ですかね?解析ですかね?よくわからないや、を一冊読んでみるのがいいですね
- 988 名前:デフォルトの名無しさん mailto:sage [2019/05/17(金) 20:46:06.10 ID:Jb6joIEA.net]
- >>966
出題者に言えよ >>967 %じゃ全射にも単射にもならんぞ 上で誰かが言ってた遇奇を入れ替えたりだとか f(n) = n - 1, f(0) = 0以外の任意の値 とかなんでもありだね。つまらんけど
- 989 名前:デフォルトの名無しさん mailto:sage [2019/05/17(金) 20:48:13.95 ID:99nnd/tf.net]
- 顔射は普通に使う単語ですか?
- 990 名前: mailto:sage [2019/05/17(金) 20:51:49.11 ID:e+Q6zZPk.net]
- >>968
>%じゃ全射にも単射にもならんぞ そうですね、じゃ、割り算の商の整数部分「/」とかはどうでしょう
- 991 名前:デフォルトの名無しさん [2019/05/17(金) 21:06:32.38 ID:ut9H1r3U.net]
- >>969
はい。
- 992 名前:デフォルトの名無しさん mailto:sage [2019/05/17(金) 21:09:38.99 ID:Jb6joIEA.net]
- >>970
そりゃなんでもありよ その場合は0の時だけ別の値を定義すれば良し
- 993 名前:デフォルトの名無しさん mailto:sage [2019/05/17(金) 21:30:53.57 ID:0M7uQZeH.net]
- 920だが、ランク付けだと解が236531と解釈される可能性が有ったので避けた
もっと簡単な書き方があるはそう思う、座圧+1とかでも伝わるだろうし……
- 994 名前:デフォルトの名無しさん mailto:sage [2019/05/17(金) 22:36:31.21 ID:gcMK/Ofn.net]
- 数値のリストを入力し、値の小さい順に1から順位を付けて、
順位のリストを出力する。同じ値は同じ順位とする
- 995 名前:デフォルトの名無しさん mailto:sage [2019/05/17(金) 22:47:54.41 ID:TGYryIO4.net]
- ほんとそれ
ピラフ改めピッコロはさっさと自害しろ
- 996 名前:デフォルトの名無しさん mailto:sage [2019/05/17(金) 23:20:58.53 ID:L8EHraRu.net]
- >>954
やっぱりどういう入出力の具体例になるのか分からない どういうことなんだよ
- 997 名前:デフォルトの名無しさん [2019/05/17(金) 23:47:24.37 ID:xYITnAAv.net]
- >>976
あくまで俺の推測だが 一例として、自分自身の数が3のとき自然数から3を除去して (1) 1, 2, 3, 4, 5, 6, ... ↓ (2) 1, 2, NULL, 4, 5, 6, ... NULLになった部分をなくすために4以降を左へシフトする (3) 1, 2, 4, 5, 6, 7, ... こんな感じで(1)の入力を(3)のような出力にする関数じゃないか? ただお題の条件としてはもっとゆるくて、入力はオーバーフローしない範囲の自然数、出力は「自分自身の数」を含まない自然数になれば何でもよくて、 定数関数でもハッシュ関数でもいいはず。 ただし、ある入力に対して必ず決まった値にならなければならず、同じ入力で呼び出すたびに出力が違うのはダメ。
- 998 名前:デフォルトの名無しさん mailto:sage [2019/05/18(土) 00:15:42.42 ID:w6U4ewGf.net]
- >>977 何をアホな事を言ってるんだ? そんなの小学生に数を数えなさいと言ってるのと等しいぞ。
それのどこがプログラミングのお題なんだ? バカじゃないのか?
- 999 名前:デフォルトの名無しさん mailto:sage [2019/05/18(土) 01:03:14.81 ID:bbC9YGRR.net]
- >>947
乙、見事。
- 1000 名前:デフォルトの名無しさん [2019/05/18(土) 01:57:48.06 ID:jjK+y75q.net]
- >>925
C# https://paiza.io/projects/OXVNCyMqgCySX7dUhwYh5Q
- 1001 名前:デフォルトの名無しさん [2019/05/18(土) 02:15:29.87 ID:jjK+y75q.net]
- >>925
Java https://paiza.io/projects/VRVZT8GnP7oLaOjx4B8LtQ?language=java
- 1002 名前:デフォルトの名無しさん mailto:sage [2019/05/18(土) 07:46:37.95 ID:w6U4ewGf.net]
- >>925 Python
ol = [-6, 3, 9, 5, 3, -7] print([ sorted(set(ol)).index(x)+1 for x in ol ] ) # [2, 3, 5, 4, 3, 1]
- 1003 名前:デフォルトの名無しさん mailto:sage [2019/05/18(土) 10:52:55.70 ID:0WkfcTHM.net]
- >>976
1. すべての自然数nに対してf(n)≠n 2. 自然数m,nがm≠nを満たすときf(m)≠f(n) を満たすような関数f(n)を作れってこと 例えば 1. 入力が1のとき出力は1以外 2. 入力が1のときと2のときで出力が同じになってはダメ
- 1004 名前:デフォルトの名無しさん mailto:sage [2019/05/18(土) 11:06:29.35 ID:spo9+l+a.net]
- >>983
2はいらんやろ 適当なコト抜かすなごかすぞぼけ
- 1005 名前:デフォルトの名無しさん mailto:sage [2019/05/18(土) 11:10:21.66 ID:vBrA8iCH.net]
- 単射である必要はない。全射でさえあればよい
- 1006 名前:デフォルトの名無しさん mailto:sage [2019/05/18(土) 12:08:52.78 ID:R97vL30T.net]
- 難しすぎて全くわからん…
ハローワールド始めて間もない男にも分かる問題を出してくれぬか 優しく教えて欲しい
- 1007 名前:デフォルトの名無しさん [2019/05/18(土) 12:10:33.89 ID:HBaY+7WM.net]
- >>954
これがあれば1Mbyteのファイルが2byteになっちゃうのか?
- 1008 名前:デフォルトの名無しさん mailto:sage [2019/05/18(土) 12:48:31.15 ID:PrlqGkYa.net]
- >>983 これのどこがプログラムの問題なのかさっぱりわからん。 小学生の練習問題か?
例えば自然数が 1から4までとした場合、f(n) の出力配列は f(1) 2,3,4 f(2) 1,3,4 f(3) 1,2,4 f(4) 1,2,3 と言う事だろ? どうしてこんな問題を出したかさっぱり分からん、何か勘違いしてる?
- 1009 名前:デフォルトの名無しさん mailto:sage [2019/05/18(土) 14:29:45.05 ID:5ij/PJHb.net]
- >>925 c
https://ideone.com/JBbm04
- 1010 名前:デフォルトの名無しさん mailto:sage [2019/05/18(土) 14:46:59.19 ID:0WkfcTHM.net]
- >>984
「隙間なく」を満たすには全射である必要があるけど、今回は定義域と終域が等しいから単射なら自動的に全射になる 全射の条件より単射の条件のほうが説明が楽だから許してくれ >>988 出題者じゃないから意図は分からんが、自然数を自身以外の自然数に変換するのが題意だからその例は間違っている f(n)が返すのは自然数であってベクトル(配列)ではない
- 1011 名前: mailto:sage [2019/05/18(土) 14:50:54.64 ID:To+6m73X.net]
- >>985
>単射である必要はない。全射でさえあればよい ??? >>983 2. 自然数m,nがm≠nを満たすときf(m)≠f(n) これって単射の定義そのものなのでは? だから単射である必要があるのでは? f が単射でない場合 f:a->z, f:b->z だった場合に a != b にもかかわらず f(a)=f(b) で 2 を満たさない
- 1012 名前:デフォルトの名無しさん mailto:sage [2019/05/18(土) 14:57:54.95 ID:jXb4UL4k.net]
- def f(n)
n + 1 end 一応>>983は満たしてる
- 1013 名前:デフォルトの名無しさん mailto:sage [2019/05/18(土) 15:16:22.17 ID:0WkfcTHM.net]
- >>990
追記 単射なら全射になるのは有限集合の場合だったわ お詫びにお題 入力n(2≤n≤2^31-1)を素因数分解してそれを表示せよ 入力例) 28 2002 216653 出力例) 2^2*7 2*7*11*13 216653
- 1014 名前:デフォルトの名無しさん mailto:sage [2019/05/18(土) 15:45:24.30 ID:kdcwh9zo.net]
- >>893 Perl5
@a=([a, 0, 0], [b, 2, 0], [c, 4, 0], [d, 0, 2]); sub {$t[$_[2]][$_[1]] = $_[0]}->(@$_) for @a; @b = map{[map{$_ // ' '} @$_]} map{[@$_]} @t; undef $"; $s = join'', map{"@$_\n"} @b; print $s; 実行 ~ $ perl 13_888.pl a b c d
- 1015 名前:デフォルトの名無しさん mailto:sage [2019/05/18(土) 15:57:05.04 ID:0itJzGag.net]
- ハローワールドなら任せて欲しい
- 1016 名前:デフォルトの名無しさん mailto:sage [2019/05/18(土) 16:05:30.57 ID:5ij/PJHb.net]
- >>993 octave
https://ideone.com/V5luwe
- 1017 名前:デフォルトの名無しさん [2019/05/18(土) 16:32:58.07 ID:BaKYgAyw.net]
- >>995
任せた。
- 1018 名前:デフォルトの名無しさん mailto:sage [2019/05/18(土) 17:19:27.10 ID:4C+see96.net]
- >>995
はよ次スレをハローワールドしろや
- 1019 名前:デフォルトの名無しさん mailto:sage [2019/05/18(土) 17:34:28.08 ID:BWmpW4IF.net]
- >>995 C89
https://ideone.com/IJb1ar
- 1020 名前:デフォルトの名無しさん mailto:sage [2019/05/18(土) 17:35:58.58 ID:BWmpW4IF.net]
- >>998 次スレ
https://mevius.5ch.net/test/read.cgi/tech/1558168409/
- 1021 名前:デフォルトの名無しさん mailto:sage [2019/05/18(土) 17:56:26.22 ID:4C+see96.net]
- >>1000
乙。
- 1022 名前:デフォルトの名無しさん mailto:sage [2019/05/18(土) 21:05:17.15 ID:sChpoVCN.net]
- >>993 Pharo/Squeak Smalltalk
| fn | fn := [:n | | m bag | m := n. bag := Bag new. Integer primesUpTo: n sqrt + 1 do: [:prime | [m isDivisibleBy: prime] whileTrue: [m := m / (bag add: prime)] ]. m > 1 ifTrue: [bag add: m]. String streamContents: [:ss | bag valuesAndCounts associations sort do: [:assoc | ss nextPutAll: assoc key asString. assoc value > 1 ifTrue: [ss nextPutAll: '^', assoc value asString] ] separatedBy: [ss nextPut: $*] ] ]. fn value: 28. "=> '2^2*7' " fn value: 2002. "=> '2*7*11*13' " fn value: 216653. "=> '216653' "
- 1023 名前:デフォルトの名無しさん mailto:sage [2019/05/18(土) 21:18:36.25 ID:PrlqGkYa.net]
- >>992 何か落とし穴があるとしたら、巨大数かなと思い、自然数を増やしてみると、python( iOSのpythonista , ideon )では配列数は 10**7 までだった。
大きな連続数の配列なんて作るバカはいないだろうし、ますます問題の意図がわからん。 一応書いてみたが、lambda 1行のみ ,(def でも何でも良いが) f978 = lambda x,n:[i for i in range(1,n+1) if i != x] xが自分の数字、n は自然数の数 https://ideone.com/iMUZ96 呼び出しは、f978(3,10**6) の様に 出力の配列数が大きくなると全ての数のPrint はアホらしいので、 10以上は配列数だけを出してる( これも n-1 だからアホらしいのだが ) out(1,4) out(2,4) out(4,4) out(10**2,10**7) stdout 個数 n= 4 自数 x= 1 自数以外の数= 3 [2, 3, 4] 個数 n= 4 自数 x= 2 自数以外の数= 3 [1, 3, 4] 個数 n= 4 自数 x= 4 自数以外の数= 3 [1, 2, 3] 個数 n= 10000000 自数 x= 100 自数以外の数= 9999999
- 1024 名前:デフォルトの名無しさん mailto:sage [2019/05/18(土) 21:29:48.34 ID:PrlqGkYa.net]
- 問題をひねって、不連続のランダムの整数としてもほとんど変わらないだろ。
- 1025 名前:デフォルトの名無しさん mailto:sage [2019/05/18(土) 21:31:36.43 ID:gB6Wr8nG.net]
- (´・_・`)
- 1026 名前:1001 [Over 1000 Thread.net]
- このスレッドは1000を超えました。
新しいスレッドを立ててください。 life time: 104日 10時間 9分 43秒
- 1027 名前:過去ログ ★ [[過去ログ]]
- ■ このスレッドは過去ログ倉庫に格納されています
|

|