プログラミングのお題スレです。
【出題と回答例】
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
レス数が1000を超えています。これ以上書き込みはできません。
1デフォルトの名無しさん
2019/02/03(日) 11:21:53.20ID:72eosYJ+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/PJHb985デフォルトの名無しさん
2019/05/18(土) 14:46:59.19ID:0WkfcTHM987デフォルトの名無しさん
2019/05/18(土) 14:57:54.95ID:jXb4UL4k988デフォルトの名無しさん
2019/05/18(土) 15:16:22.17ID:0WkfcTHM >>985
追記
単射なら全射になるのは有限集合の場合だったわ
お詫びにお題
入力n(2≤n≤2^31-1)を素因数分解してそれを表示せよ
入力例)
28
2002
216653
出力例)
2^2*7
2*7*11*13
216653
追記
単射なら全射になるのは有限集合の場合だったわ
お詫びにお題
入力n(2≤n≤2^31-1)を素因数分解してそれを表示せよ
入力例)
28
2002
216653
出力例)
2^2*7
2*7*11*13
216653
989デフォルトの名無しさん
2019/05/18(土) 15:45:24.30ID:kdcwh9zo >>888 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
@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
990デフォルトの名無しさん
2019/05/18(土) 15:57:05.04ID:0itJzGag ハローワールドなら任せて欲しい
991デフォルトの名無しさん
2019/05/18(土) 16:05:30.57ID:5ij/PJHb992デフォルトの名無しさん
2019/05/18(土) 16:32:58.07ID:BaKYgAyw >>990
任せた。
任せた。
993デフォルトの名無しさん
2019/05/18(土) 17:19:27.10ID:4C+see96 >>990
はよ次スレをハローワールドしろや
はよ次スレをハローワールドしろや
994デフォルトの名無しさん
2019/05/18(土) 17:34:28.08ID:BWmpW4IF995デフォルトの名無しさん
2019/05/18(土) 17:35:58.58ID:BWmpW4IF996デフォルトの名無しさん
2019/05/18(土) 17:56:26.22ID:4C+see96 >>995
乙。
乙。
997デフォルトの名無しさん
2019/05/18(土) 21:05:17.15ID:sChpoVCN >>988 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' "
| 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' "
998デフォルトの名無しさん
2019/05/18(土) 21:18:36.25ID:PrlqGkYa >>987 何か落とし穴があるとしたら、巨大数かなと思い、自然数を増やしてみると、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
大きな連続数の配列なんて作るバカはいないだろうし、ますます問題の意図がわからん。
一応書いてみたが、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
999デフォルトの名無しさん
2019/05/18(土) 21:29:48.34ID:PrlqGkYa 問題をひねって、不連続のランダムの整数としてもほとんど変わらないだろ。
1000デフォルトの名無しさん
2019/05/18(土) 21:31:36.43ID:gB6Wr8nG (´・_・`)
10011001
Over 1000Thread このスレッドは1000を超えました。
新しいスレッドを立ててください。
life time: 104日 10時間 9分 43秒
新しいスレッドを立ててください。
life time: 104日 10時間 9分 43秒
レス数が1000を超えています。これ以上書き込みはできません。
ニュース
- 「偽サッチャー」「自滅的」「時代遅れ」 高市首相の経済政策を海外メディアが酷評 [蚤の市★]
- 高市首相の答弁書に「台湾有事答えない」と明記 存立危機発言当時 ★3 [蚤の市★]
- 【ド軍】山本由伸、WBC出場を決断!ドジャースが本人の意向を尊重、佐々木朗希はチームが故障歴を懸念で不参加 [鉄チーズ烏★]
- 米大統領報道官「日本と強固な同盟維持、中国とも協力」 [少考さん★]
- JA全農が「新おこめ券」…来年9月末の有効期限を新設、必要経費のみ上乗せ ★2 [蚤の市★]
- 秋田内陸縦貫鉄道「列車が脱線、転覆」と通報 北秋田市、萱草駅付近 [蚤の市★]
- 本当は健康に悪いけど、腹筋割れてる女のエロさは異常
- 【画像】海外の寿司パーティー、レベチwwwwwwwwww [834922174]
- お前らってほんとに純正品?
- 中国人、超ド正論。「チベットやウイグルに住んでるのはチベット族やウイグル族だが、アイヌから奪った土地に住んでる日本人こそ侵略者」 [314039747]
- 喫煙しない鳥ってなーんだ?
- 玉木雄一郎「日本は労働時間が短すぎる!これが経済の足を引っ張っている。労働増・企業に投資減税・教育予算増、これで財政破綻回避 [256556981]
