プログラミングのお題スレです。
【出題と回答例】
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.2ch.net/test/read.cgi/tech/1538096947/
探検
プログラミングのお題スレ Part13
レス数が950を超えています。1000を超えると書き込みができなくなります。
1デフォルトの名無しさん
2019/02/03(日) 11:21:53.20ID:72eosYJ+920デフォルトの名無しさん
2019/05/16(木) 20:28:13.91ID:3sIrlJF4 お題
整数の数列が与えられるので、各値の大小関係を変えないように値をなるべく小さくせよ
ただし1番小さい要素は1にすること
入力
-6 3 9 5 3 -7
出力
2 3 5 4 3 1
整数の数列が与えられるので、各値の大小関係を変えないように値をなるべく小さくせよ
ただし1番小さい要素は1にすること
入力
-6 3 9 5 3 -7
出力
2 3 5 4 3 1
921デフォルトの名無しさん
2019/05/16(木) 21:00:21.83ID:/dAesd8e923デフォルトの名無しさん
2019/05/16(木) 22:59:47.34ID:0eZXbfha >>920 Pharo/Squeak Smalltalk
| fn |
fn := [:arr |
| sorted |
sorted := arr asSet sorted.
arr collect: [:x | sorted indexOf: x]
].
fn value: #(-6 3 9 5 3 -7). "=> #(2 3 5 4 3 1) "
| fn |
fn := [:arr |
| sorted |
sorted := arr asSet sorted.
arr collect: [:x | sorted indexOf: x]
].
fn value: #(-6 3 9 5 3 -7). "=> #(2 3 5 4 3 1) "
924913
2019/05/16(木) 23:00:52.84ID:02wuysYU >>877 ocaml
https://ideone.com/waZZh7
・自分に正直になってrefとforループで書いた
>>914
じょ、助長…
>>916
外しと言うより、たんに不勉強
python書けないんよね(´・ω・`)
https://ideone.com/waZZh7
・自分に正直になってrefとforループで書いた
>>914
じょ、助長…
>>916
外しと言うより、たんに不勉強
python書けないんよね(´・ω・`)
925デフォルトの名無しさん
2019/05/16(木) 23:34:17.56ID:YXKZQo24 >>923 Perl5
@a = qw{-6 3 9 5 3 -7};
$h{$_}=1 for @a;
%o = map{$_=>++$i} sort{$a<=>$b} keys %h;
@b = map{$o{$_}} @a;
print "@a => @b\n";
実行
~ $ perl 13_920.pl
-6 3 9 5 3 -7 => 2 3 5 4 3 1
@a = qw{-6 3 9 5 3 -7};
$h{$_}=1 for @a;
%o = map{$_=>++$i} sort{$a<=>$b} keys %h;
@b = map{$o{$_}} @a;
print "@a => @b\n";
実行
~ $ perl 13_920.pl
-6 3 9 5 3 -7 => 2 3 5 4 3 1
926デフォルトの名無しさん
2019/05/16(木) 23:42:11.94ID:YXKZQo24927デフォルトの名無しさん
2019/05/16(木) 23:44:54.09ID:02wuysYU928デフォルトの名無しさん
2019/05/17(金) 00:26:31.35ID:SI3/qEwo >>888 Pharo/Squeak Smalltalk
| fn |
fn := [:arr |
String streamContents: [:ss |
| cIdx lIdx |
cIdx := lIdx := 0.
arr do: [:spec |
spec third > lIdx ifTrue: [
ss nextPutAll: (String new: spec third - lIdx withAll: Character cr).
lIdx := spec third.
cIdx := 0
].
ss nextPutAll: (String new: spec second - cIdx withAll: Character space).
ss nextPutAll: spec first.
cIdx := spec second + 1.
]
]
].
fn value: #(
(a 0 0)
(b 2 0)
(c 4 0)
(d 0 2)).
"=>
a b c
d "
| fn |
fn := [:arr |
String streamContents: [:ss |
| cIdx lIdx |
cIdx := lIdx := 0.
arr do: [:spec |
spec third > lIdx ifTrue: [
ss nextPutAll: (String new: spec third - lIdx withAll: Character cr).
lIdx := spec third.
cIdx := 0
].
ss nextPutAll: (String new: spec second - cIdx withAll: Character space).
ss nextPutAll: spec first.
cIdx := spec second + 1.
]
]
].
fn value: #(
(a 0 0)
(b 2 0)
(c 4 0)
(d 0 2)).
"=>
a b c
d "
929デフォルトの名無しさん
2019/05/17(金) 00:35:47.85ID:HrEfbPs9930デフォルトの名無しさん
2019/05/17(金) 00:55:59.72ID:TuAgku6e 最近jニキ来ないな
931デフォルトの名無しさん
2019/05/17(金) 01:23:24.98ID:UHIjSpei932デフォルトの名無しさん
2019/05/17(金) 07:54:47.22ID:9a+COZnd >>888
s = '''\
[a, 0, 0]
[b, 2, 0]
[c, 4, 0]
[d, 0, 2]
'''
from parse import * #pip install
col2 = 0 ; line2 = 0
for l in s.splitlines():
col = col2 ; line = line2
r=parse('[{},{},{}]',l)
c= r[0]
col2 = int(r[1]) ; line2 = int(r[2])
{print() for _ in range(line2-line) }
{print(' ',end='') for _ in range(col2-col)}
print(c, end='')
col2 += 1
print()
'''#出力
a b c
d
'''
s = '''\
[a, 0, 0]
[b, 2, 0]
[c, 4, 0]
[d, 0, 2]
'''
from parse import * #pip install
col2 = 0 ; line2 = 0
for l in s.splitlines():
col = col2 ; line = line2
r=parse('[{},{},{}]',l)
c= r[0]
col2 = int(r[1]) ; line2 = int(r[2])
{print() for _ in range(line2-line) }
{print(' ',end='') for _ in range(col2-col)}
print(c, end='')
col2 += 1
print()
'''#出力
a b c
d
'''
933デフォルトの名無しさん
2019/05/17(金) 08:32:11.25ID:9a+COZnd >>932 parse に型指定追加
>>888 Python
s = '''\
[a, 0, 0]
[b, 2, 0]
[c, 4, 0]
[d, 0, 2]
'''
from parse import * #pip install
col2 = 0 ; line2 = 0
for l in s.splitlines():
col = col2 ; line = line2
(c,col2,line2) = parse('[{},{:d},{:d}]',l)
{print() for _ in range(line2-line) }
{print(' ',end='') for _ in range(col2-col)}
print(c, end='')
col2 += 1
print()
'''#出力
a b c
d
'''
>>888 Python
s = '''\
[a, 0, 0]
[b, 2, 0]
[c, 4, 0]
[d, 0, 2]
'''
from parse import * #pip install
col2 = 0 ; line2 = 0
for l in s.splitlines():
col = col2 ; line = line2
(c,col2,line2) = parse('[{},{:d},{:d}]',l)
{print() for _ in range(line2-line) }
{print(' ',end='') for _ in range(col2-col)}
print(c, end='')
col2 += 1
print()
'''#出力
a b c
d
'''
934デフォルトの名無しさん
2019/05/17(金) 12:14:50.20ID:8VLhbVxR >>920
は、ランク付けの問題だろ
入力データ
-6 3 9 5 3 -7
出力・ランク
2 3 5 4 3 1
入力データの最も小さい数字を、ランク1 にして、
数字が大きくなるほど、ランクも大きくしていく
同値の場合は、同じランクにして、次のランクも間隔を空けない。
ランク3 が2つあっても、次は、ランク4
つまり、ランクが欠けることはない!
は、ランク付けの問題だろ
入力データ
-6 3 9 5 3 -7
出力・ランク
2 3 5 4 3 1
入力データの最も小さい数字を、ランク1 にして、
数字が大きくなるほど、ランクも大きくしていく
同値の場合は、同じランクにして、次のランクも間隔を空けない。
ランク3 が2つあっても、次は、ランク4
つまり、ランクが欠けることはない!
935デフォルトの名無しさん
2019/05/17(金) 12:23:14.18ID:99nnd/tf >>934
うるせぇ死ね
うるせぇ死ね
936デフォルトの名無しさん
2019/05/17(金) 12:39:09.53ID:L8EHraRu 難しく書いてたけど結局これだけなのか
問題文をわざと複雑に見せかける現代文読解と同じ仕組みじゃないか
問題文をわざと複雑に見せかける現代文読解と同じ仕組みじゃないか
937デフォルトの名無しさん
2019/05/17(金) 12:49:18.63ID:ut9H1r3U プログラム作る前に気づいたので>>931のリンク先のブログラムのタイトルは密かに「順位」にしといたw
938デフォルトの名無しさん
2019/05/17(金) 12:50:56.11ID:l82uGMBO >>936
わざと難しく見せかけているというより、たんに説明が下手なだけだと思う
わざと難しく見せかけているというより、たんに説明が下手なだけだと思う
939デフォルトの名無しさん
2019/05/17(金) 13:23:46.56ID:gFFtTihX 別に難しくない件
940デフォルトの名無しさん
2019/05/17(金) 13:29:01.98ID:L8EHraRu そうですね
難易度は主観ですね
なら短さ長さを比べるとこうなります
・各値の大小関係を変えないように値をなるべく小さくせよ
・ランク付けせよ
もしかしたらこれが要するにただのランク付けだと分かるまで何人が挑戦するかを試してみる社会調査だったのかもしれません
難易度は主観ですね
なら短さ長さを比べるとこうなります
・各値の大小関係を変えないように値をなるべく小さくせよ
・ランク付けせよ
もしかしたらこれが要するにただのランク付けだと分かるまで何人が挑戦するかを試してみる社会調査だったのかもしれません
941デフォルトの名無しさん
2019/05/17(金) 13:36:08.80ID:/5AjAxyT >ランク付けだと分かるまで何人が挑戦するかを試してみる
まさにそうじゃないの?
まさにそうじゃないの?
942デフォルトの名無しさん
2019/05/17(金) 13:44:50.72ID:mxL0YWmq943デフォルトの名無しさん
2019/05/17(金) 14:08:19.69ID:gFFtTihX >>940
アスペ
アスペ
944デフォルトの名無しさん
2019/05/17(金) 14:08:53.72ID:gFFtTihX 問題文を添削しちゃう皆さん
945デフォルトの名無しさん
2019/05/17(金) 14:20:43.10ID:gFFtTihX946デフォルトの名無しさん
2019/05/17(金) 15:06:17.59ID:Jb6joIEA さすがにいちゃもん付け過ぎだろ
元の問題文読めば普通はわかるだろ
元の問題文読めば普通はわかるだろ
947デフォルトの名無しさん
2019/05/17(金) 15:51:11.97ID:99nnd/tf 問題: おっぱいをなるべく小さくせよ。
948デフォルトの名無しさん
2019/05/17(金) 16:00:34.70ID:ut9H1r3U949デフォルトの名無しさん
2019/05/17(金) 16:18:22.99ID:X2USxdO3 お題:自然数を隙間なく自分自身以外の数に対応させよ。
950デフォルトの名無しさん
2019/05/17(金) 16:46:21.83ID:9GdSR9hc >>949 先生、対応させると言う日本語がわかりません。
日本人には難しいです。
日本人には難しいです。
951デフォルトの名無しさん
2019/05/17(金) 17:04:52.99ID:ut9H1r3U >>949
君が何を言っているのかわからない。
君が何を言っているのかわからない。
952デフォルトの名無しさん
2019/05/17(金) 17:24:51.97ID:L8EHraRu >>949
パッ見で分からん
パッ見で分からん
953デフォルトの名無しさん
2019/05/17(金) 18:07:07.73ID:nEasvejW 偶数なら1引く
奇数なら1足すとかでいいんじゃないの
奇数なら1足すとかでいいんじゃないの
954デフォルトの名無しさん
2019/05/17(金) 18:39:31.46ID:9GdSR9hc >>953 良いんじゃないのじゃなくて、他の人が理解できる言葉に翻訳してよ。
これじゃ小学校の国語で平均点以下だろ。
日本語が不自由ならプログラム例を示せば良い。変な言語はダメだけど、C系の素直な言語なら万国共通
これじゃ小学校の国語で平均点以下だろ。
日本語が不自由ならプログラム例を示せば良い。変な言語はダメだけど、C系の素直な言語なら万国共通
955デフォルトの名無しさん
2019/05/17(金) 19:30:38.86ID:Jb6joIEA 要はf: N -> N の∀n∈N f(n) ≠ n かつ全単射な写像を求めろってことでしょ
956デフォルトの名無しさん
2019/05/17(金) 19:35:23.29ID:Jb6joIEA あ、単射じゃなくてもいいか
957デフォルトの名無しさん
2019/05/17(金) 19:40:06.71ID:9GdSR9hc >>955 あのさ、それで人に通じると思ってるの?
そんな仕様書を書いて誰がコーディングするんだよ。
日本語に翻訳して明後日出直してこい。
言語能力にかけてるやつは、自分の頭の中が周りの人からスケスケに見えてると言う妄想を持ってる。
狭い世界で通用しても社会では通用しない。
そんな仕様書を書いて誰がコーディングするんだよ。
日本語に翻訳して明後日出直してこい。
言語能力にかけてるやつは、自分の頭の中が周りの人からスケスケに見えてると言う妄想を持ってる。
狭い世界で通用しても社会では通用しない。
958デフォルトの名無しさん
2019/05/17(金) 19:47:34.60ID:9GdSR9hc ここまで何人もの人がわからんと言ってるのは、その仕様を出した人間の素質が失格という事だろ。
それを何で庇うんだ? 庇う理由を説明してみろよ。 ここがバカばかりと思うならバカに解るように説明しろよな。
バカにわからせなければ、PLは務まらないよ。
と言うか、仕事は一般人としてるのに何をトチ狂ってるんだ? かなり精神を疑うな。
それを何で庇うんだ? 庇う理由を説明してみろよ。 ここがバカばかりと思うならバカに解るように説明しろよな。
バカにわからせなければ、PLは務まらないよ。
と言うか、仕事は一般人としてるのに何をトチ狂ってるんだ? かなり精神を疑うな。
959デフォルトの名無しさん
2019/05/17(金) 19:50:16.70ID:Jb6joIEA 教養のないやつに限ってブチ切れる
960デフォルトの名無しさん
2019/05/17(金) 20:11:05.80ID:KIX3RA0i >>947
桃白白改めミスターポポ改めピラフ改めピッコロさん、くだらない出題はやめてください
桃白白改めミスターポポ改めピラフ改めピッコロさん、くだらない出題はやめてください
961デフォルトの名無しさん
2019/05/17(金) 20:11:56.63ID:9a+COZnd >>959 で、どんな問題なんだ? プログラミングできる仕様として出してくれよ。
963デフォルトの名無しさん
2019/05/17(金) 20:46:06.10ID:Jb6joIEA964デフォルトの名無しさん
2019/05/17(金) 20:48:13.95ID:99nnd/tf 顔射は普通に使う単語ですか?
966デフォルトの名無しさん
2019/05/17(金) 21:06:32.38ID:ut9H1r3U >>964
はい。
はい。
967デフォルトの名無しさん
2019/05/17(金) 21:09:38.99ID:Jb6joIEA968デフォルトの名無しさん
2019/05/17(金) 21:30:53.57ID:0M7uQZeH 920だが、ランク付けだと解が236531と解釈される可能性が有ったので避けた
もっと簡単な書き方があるはそう思う、座圧+1とかでも伝わるだろうし……
もっと簡単な書き方があるはそう思う、座圧+1とかでも伝わるだろうし……
969デフォルトの名無しさん
2019/05/17(金) 22:36:31.21ID:gcMK/Ofn 数値のリストを入力し、値の小さい順に1から順位を付けて、
順位のリストを出力する。同じ値は同じ順位とする
順位のリストを出力する。同じ値は同じ順位とする
970デフォルトの名無しさん
2019/05/17(金) 22:47:54.41ID:TGYryIO4 ほんとそれ
ピラフ改めピッコロはさっさと自害しろ
ピラフ改めピッコロはさっさと自害しろ
971デフォルトの名無しさん
2019/05/17(金) 23:20:58.53ID:L8EHraRu972デフォルトの名無しさん
2019/05/17(金) 23:47:24.37ID:xYITnAAv >>971
あくまで俺の推測だが
一例として、自分自身の数が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)のような出力にする関数じゃないか?
ただお題の条件としてはもっとゆるくて、入力はオーバーフローしない範囲の自然数、出力は「自分自身の数」を含まない自然数になれば何でもよくて、
定数関数でもハッシュ関数でもいいはず。
ただし、ある入力に対して必ず決まった値にならなければならず、同じ入力で呼び出すたびに出力が違うのはダメ。
あくまで俺の推測だが
一例として、自分自身の数が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)のような出力にする関数じゃないか?
ただお題の条件としてはもっとゆるくて、入力はオーバーフローしない範囲の自然数、出力は「自分自身の数」を含まない自然数になれば何でもよくて、
定数関数でもハッシュ関数でもいいはず。
ただし、ある入力に対して必ず決まった値にならなければならず、同じ入力で呼び出すたびに出力が違うのはダメ。
973デフォルトの名無しさん
2019/05/18(土) 00:15:42.42ID:w6U4ewGf974デフォルトの名無しさん
2019/05/18(土) 01:03:14.81ID:bbC9YGRR >>942
乙、見事。
乙、見事。
975デフォルトの名無しさん
2019/05/18(土) 01:57:48.06ID:jjK+y75q976デフォルトの名無しさん
2019/05/18(土) 02:15:29.87ID:jjK+y75q977デフォルトの名無しさん
2019/05/18(土) 07:46:37.95ID:w6U4ewGf >>920 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]
ol = [-6, 3, 9, 5, 3, -7]
print([ sorted(set(ol)).index(x)+1 for x in ol ] )
# [2, 3, 5, 4, 3, 1]
978デフォルトの名無しさん
2019/05/18(土) 10:52:55.70ID:0WkfcTHM >>971
1. すべての自然数nに対してf(n)≠n
2. 自然数m,nがm≠nを満たすときf(m)≠f(n)
を満たすような関数f(n)を作れってこと
例えば
1. 入力が1のとき出力は1以外
2. 入力が1のときと2のときで出力が同じになってはダメ
1. すべての自然数nに対してf(n)≠n
2. 自然数m,nがm≠nを満たすときf(m)≠f(n)
を満たすような関数f(n)を作れってこと
例えば
1. 入力が1のとき出力は1以外
2. 入力が1のときと2のときで出力が同じになってはダメ
979デフォルトの名無しさん
2019/05/18(土) 11:06:29.35ID:spo9+l+a980デフォルトの名無しさん
2019/05/18(土) 11:10:21.66ID:vBrA8iCH 単射である必要はない。全射でさえあればよい
981デフォルトの名無しさん
2019/05/18(土) 12:08:52.78ID:R97vL30T 難しすぎて全くわからん…
ハローワールド始めて間もない男にも分かる問題を出してくれぬか
優しく教えて欲しい
ハローワールド始めて間もない男にも分かる問題を出してくれぬか
優しく教えて欲しい
982デフォルトの名無しさん
2019/05/18(土) 12:10:33.89ID:HBaY+7WM >>949
これがあれば1Mbyteのファイルが2byteになっちゃうのか?
これがあれば1Mbyteのファイルが2byteになっちゃうのか?
983デフォルトの名無しさん
2019/05/18(土) 12:48:31.15ID:PrlqGkYa >>978 これのどこがプログラムの問題なのかさっぱりわからん。 小学生の練習問題か?
例えば自然数が 1から4までとした場合、f(n) の出力配列は
f(1) 2,3,4
f(2) 1,3,4
f(3) 1,2,4
f(4) 1,2,3
と言う事だろ? どうしてこんな問題を出したかさっぱり分からん、何か勘違いしてる?
例えば自然数が 1から4までとした場合、f(n) の出力配列は
f(1) 2,3,4
f(2) 1,3,4
f(3) 1,2,4
f(4) 1,2,3
と言う事だろ? どうしてこんな問題を出したかさっぱり分からん、何か勘違いしてる?
984デフォルトの名無しさん
2019/05/18(土) 14:29:45.05ID:5ij/PJHbレス数が950を超えています。1000を超えると書き込みができなくなります。
ニュース
- 高市総理の周辺「小さな火種が火事になりかけている。早く鎮火しないといけない」 ★4 [Hitzeschleier★]
- 国内ホテル、既にキャンセルも 訪日客関連業界、事態見守る [蚤の市★]
- 早大名誉教授が高市早苗首相の発言に言及「台湾も迷惑だと言っている」… [BFU★]
- 「影響これから」不安募るインバウンド関連業界 中国の訪日自粛要請 [蚤の市★]
- 中国で「クレしん」公開延期 対日報復、エンタメに波及 [蚤の市★]
- 【映画】『クレヨンしんちゃん』 中国で公開延期 対日報復、エンタメに波及 [冬月記者★]
- Xのネトウヨ「高市首相が日本から中国人を追い出した!!勝った!!」 [805596214]
- 【んな専🏡】姫森ルーナ(・o・🍬)総合スレッド🏰【ホロライブ▶】
- 愛国者「台湾有事になったらこれだけの国が台湾側で参戦するぞ!」→6万いいね [834922174]
- 【実況】博衣こよりのえちえち雀魂1位耐久🧪★2
- 高市早苗の経済損失、数十兆円〜数百兆円か [931948549]
- 高市経済ブレーン「経済対策28兆円必要」「円安急速すぎる、為替介入を」「来年1月の利上げも不要」 [237216734]
