プログラミングのお題スレです。
【出題と回答例】
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+917デフォルトの名無しさん
2019/05/16(木) 10:18:52.91ID:YVMjr/q8918デフォルトの名無しさん
2019/05/16(木) 14:34:08.16ID:YVMjr/q8919デフォルトの名無しさん
2019/05/16(木) 19:26:40.27ID:ktv4pd0R920デフォルトの名無しさん
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/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 [蚤の市★]
- 習政権、高市首相への態度硬化 台湾有事発言で連日非難 中国 ★11 [ぐれ★]
- 橋下徹氏 外務省幹部の訪中受け「口だけ番長」へ痛烈指摘 「喧嘩は日本の完敗…なんとかっこ悪い日本か」 [冬月記者★]
- 【外国人問題】小野田紀美担当相「不法就労や不法滞在は許さない」 [シャチ★]
- 【野球】井端監督 大谷翔平、山本由伸らのWBCへの参加 「1日も早く返事ほしい」「待っててといっても、国内組が遅くなってしまう」★3 [冬月記者★]
- 【日本大使館】中国在留邦人は安全確保を ★2 [ぐれ★]
- 【実況】博衣こよりのえちえち朝こよ🧪
- 【高市刺客】 自民党「公明党の斉藤代表と闘う! 衆議院広島3区に公認候補を立てるぞ😤」 [485983549]
- 安倍晋三の遺産、日銀ETF売却終了予定は2138年 [115996789]
- 「これが完成された醜い姿である>>1」←これなに?
- 中国「高市が頭を下げて謝罪しない限り、絶対に許さない」 [329329848]
- 🏡
