プログラミングのお題スレです。
【出題と回答例】
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/
宿題は宿題スレがあるのでそちらへ。
※前スレ
プログラミングのお題スレ Part15
http://mevius.5ch.net/test/read.cgi/tech/1564310397/
プログラミングのお題スレ Part16
■ このスレッドは過去ログ倉庫に格納されています
2019/11/17(日) 09:00:22.10ID:xqEdXdr6
645デフォルトの名無しさん
2020/01/18(土) 23:45:49.85ID:uIn7pF9I >>644
まあそうだが、それではあまりにもマジックナンバーすぎるので、周期が本当に
312500であるかチェックするコードを31行目に念のため入れた。周期性が
確認できなければ、STOP Errorと表示してプログラムを中断する。
まあそうだが、それではあまりにもマジックナンバーすぎるので、周期が本当に
312500であるかチェックするコードを31行目に念のため入れた。周期性が
確認できなければ、STOP Errorと表示してプログラムを中断する。
646デフォルトの名無しさん
2020/01/19(日) 00:38:02.65ID:msO9WicL 【お題】
無向グラフGが入力として与えられ、Gがサイクルを持てば、
Gの中の最小サイクルの経路とそのコストを出力するプログラムをかけ
*条件
・グラフサイズ(頂点数)は10頂点程度(任意でよい)
・各辺の重みはランダムとする
・入力は隣接行列表現とする
無向グラフGが入力として与えられ、Gがサイクルを持てば、
Gの中の最小サイクルの経路とそのコストを出力するプログラムをかけ
*条件
・グラフサイズ(頂点数)は10頂点程度(任意でよい)
・各辺の重みはランダムとする
・入力は隣接行列表現とする
647デフォルトの名無しさん
2020/01/19(日) 08:33:00.83ID:r8dbXOf2 お題: 文字列aの真ん中に文字列bを挿入する関数chopを定義しなさい
648デフォルトの名無しさん
2020/01/19(日) 08:40:19.34ID:dOSa/ZjO >>647 Ruby
def chop(str); str.tap{|s| s[s.size / 2, 0] = ?b}; end
puts chop('hogefuga') # => hogebfuga
def chop(str); str.tap{|s| s[s.size / 2, 0] = ?b}; end
puts chop('hogefuga') # => hogebfuga
649デフォルトの名無しさん
2020/01/19(日) 08:42:44.39ID:dOSa/ZjO 問題誤読してた
def chop(a, b)
a.tap{|s| s[s.size / 2, 0] = b}
end
puts chop('hogehoge', 'HOGE') # => hogeHOGEhoge
def chop(a, b)
a.tap{|s| s[s.size / 2, 0] = b}
end
puts chop('hogehoge', 'HOGE') # => hogeHOGEhoge
650デフォルトの名無しさん
2020/01/19(日) 10:33:55.37ID:9NcxNk8h お題 (>>346)
1〜1000 の整数の内、3の倍数または5の倍数であるものだけを選んで、その合計を求めよ。
1〜1000 の整数の内、3の倍数または5の倍数であるものだけを選んで、その合計を求めよ。
651デフォルトの名無しさん
2020/01/19(日) 10:37:40.30ID:9NcxNk8h 3の倍数
[1000/3] = 333個
S(3) = 3+6+9+・・・・+999 = 333 * (3+999)/2 = 166833,
5の倍数
[1000/5] = 200個
S(5) = 5+10+15+・・・・+1000 = 200 * (5+1000)/2 = 100500,
3の倍数かつ5の倍数 (15の倍数)
[1000/15] = 66個
S(15) = 15+30+45+・・・・+990 = 66 * (15+990)/2 = 33165,
∴ S(3) + S(5) - S(15) = 100500 + 166833 - 33165 = 234168.
[1000/3] = 333個
S(3) = 3+6+9+・・・・+999 = 333 * (3+999)/2 = 166833,
5の倍数
[1000/5] = 200個
S(5) = 5+10+15+・・・・+1000 = 200 * (5+1000)/2 = 100500,
3の倍数かつ5の倍数 (15の倍数)
[1000/15] = 66個
S(15) = 15+30+45+・・・・+990 = 66 * (15+990)/2 = 33165,
∴ S(3) + S(5) - S(15) = 100500 + 166833 - 33165 = 234168.
652デフォルトの名無しさん
2020/01/19(日) 13:04:07.51ID:CR4NZ4aH 15の倍数含めないんじゃないの?
https://paiza.io/projects/EeMOFbswluii2y-uytbeqA
https://paiza.io/projects/EeMOFbswluii2y-uytbeqA
653デフォルトの名無しさん
2020/01/19(日) 18:23:22.44ID:t01ujcAX >>629 Perl5
use List::Util qw{max};
$W = 20;
$n = @wv = ([3, 5],[5, 6],[6, 3],[3, 5],[5, 9],[2, 1],[7, 5],[4, 6],[8, 3]);
@w = map{$$_[0]} @wv;
@v = map{$$_[1]} @wv;
$wt[$n][$_] = 0 for 0..$W;
for ($i = $n - 1; $i >= 0; $i--) {
for $j (0..$W) {
$ws = $wt[$i + 1][$j];
$ws = max($wt[$i + 1][$j - $w[$i]] + $v[$i], $ws) if $j >= $w[$i];
$wt[$i][$j] = $ws;
}
}
print "価値合計最大: $wt[0][$W]\n";
$j = $W;
for $i (0..$n-1) {
$ws = $wt[$i][$j];
if ($wt[$i + 1][$j] != $ws) {
print "[$w[$i], $v[$i]] ";
$ws -= $v[$i];
for (; 0 <= $j; $j--) { last if $wt[$i + 1][$j] == $ws; }
}
}
$ perl 16_629_nsp_dp.pl
価値合計最大: 31
[3, 5]
[5, 6]
[3, 5]
[5, 9]
[4, 6]
use List::Util qw{max};
$W = 20;
$n = @wv = ([3, 5],[5, 6],[6, 3],[3, 5],[5, 9],[2, 1],[7, 5],[4, 6],[8, 3]);
@w = map{$$_[0]} @wv;
@v = map{$$_[1]} @wv;
$wt[$n][$_] = 0 for 0..$W;
for ($i = $n - 1; $i >= 0; $i--) {
for $j (0..$W) {
$ws = $wt[$i + 1][$j];
$ws = max($wt[$i + 1][$j - $w[$i]] + $v[$i], $ws) if $j >= $w[$i];
$wt[$i][$j] = $ws;
}
}
print "価値合計最大: $wt[0][$W]\n";
$j = $W;
for $i (0..$n-1) {
$ws = $wt[$i][$j];
if ($wt[$i + 1][$j] != $ws) {
print "[$w[$i], $v[$i]] ";
$ws -= $v[$i];
for (; 0 <= $j; $j--) { last if $wt[$i + 1][$j] == $ws; }
}
}
$ perl 16_629_nsp_dp.pl
価値合計最大: 31
[3, 5]
[5, 6]
[3, 5]
[5, 9]
[4, 6]
654デフォルトの名無しさん
2020/01/19(日) 20:22:32.64ID:MJwntUeD >>652
PowerShellには論理XOR演算子があるので簡潔に書けるな。
(1..1000 |? {$_ % 3 -xor $_ % 5} | measure -sum).sum
-- 実行結果 --
201003
PowerShellには論理XOR演算子があるので簡潔に書けるな。
(1..1000 |? {$_ % 3 -xor $_ % 5} | measure -sum).sum
-- 実行結果 --
201003
655デフォルトの名無しさん
2020/01/19(日) 21:28:24.55ID:RfLx+x9F >>652
なぜそう思った?
なぜそう思った?
656デフォルトの名無しさん
2020/01/19(日) 21:32:35.60ID:CR4NZ4aH >>655
だけ と強調してたから15を含めない意図があったのかと思った
だけ と強調してたから15を含めない意図があったのかと思った
657デフォルトの名無しさん
2020/01/19(日) 21:35:30.71ID:RrNuywTU 「3の倍数または5の倍数であるものだけ」という文言をそう理解するのは宇宙でお前だけだと思う
658デフォルトの名無しさん
2020/01/19(日) 22:24:05.06ID:RfLx+x9F 妊娠してるか体が不自由な人だけ使ってください
659デフォルトの名無しさん
2020/01/19(日) 23:13:47.04ID:xkwic4JQ >>658
妊娠してる障害者はすわれないやんけ!
妊娠してる障害者はすわれないやんけ!
660デフォルトの名無しさん
2020/01/20(月) 07:26:08.24ID:MadDRkAO 日本語の選択が排他的かどうかは状況しだいだから難しいところだと思うけどね
レストランで「コーヒーか紅茶が付きます」と言えばどちらか一方でしょ
ケースバイケース
こう解釈したらこういうプログラムになるというふうに思考を広げることはできるっしょ
レストランで「コーヒーか紅茶が付きます」と言えばどちらか一方でしょ
ケースバイケース
こう解釈したらこういうプログラムになるというふうに思考を広げることはできるっしょ
661デフォルトの名無しさん
2020/01/20(月) 08:18:28.86ID:ItoFGwWk662デフォルトの名無しさん
2020/01/20(月) 10:07:25.78ID:DzK/Jy6Q 0個選んで答えは0
コンピュータ言語読み書きしてたらこういう
発想が自然に感じられるが
日常言語の世界ではナンセンス杉
コンピュータ言語読み書きしてたらこういう
発想が自然に感じられるが
日常言語の世界ではナンセンス杉
663デフォルトの名無しさん
2020/01/20(月) 14:10:00.56ID:gT/yNp+O >651 のようにした
common lisp
(loop for i from 1 to 1000 when (= (* (mod i 3) (mod i 5)) 0) sum i)
234168
common lisp
(loop for i from 1 to 1000 when (= (* (mod i 3) (mod i 5)) 0) sum i)
234168
664デフォルトの名無しさん
2020/01/20(月) 15:41:16.18ID:/G9h8LiI >>651 Ruby
def si(n,m); n.step(m,n).inject(:+); end
p n3 = si( 3, 1000 ) #=> 166833
p n5 = si( 5, 1000 ) #=> 100500
p n15 = si( 15, 1000 ) #=> 33165
p n3 + n5 - 2 * n15 #=> 201003
def si(n,m); n.step(m,n).inject(:+); end
p n3 = si( 3, 1000 ) #=> 166833
p n5 = si( 5, 1000 ) #=> 100500
p n15 = si( 15, 1000 ) #=> 33165
p n3 + n5 - 2 * n15 #=> 201003
665デフォルトの名無しさん
2020/01/20(月) 21:46:25.06ID:eV9B9Eib >>629
Rで全探索
https://ideone.com/XDwD7C
物が9個しかないので512通りの組み合わせを全探索してもすぐ終わるし、
上のプログラムの2番目の問題のように、合計価値が最大となる組み合わせが
複数ある場合でもすべて挙げられるし、重さが小数や大きな整数の場合でも
同様に解けるから、全探索が時間的に可能なら全探索の方が良いんじゃないか?
Rで全探索
https://ideone.com/XDwD7C
物が9個しかないので512通りの組み合わせを全探索してもすぐ終わるし、
上のプログラムの2番目の問題のように、合計価値が最大となる組み合わせが
複数ある場合でもすべて挙げられるし、重さが小数や大きな整数の場合でも
同様に解けるから、全探索が時間的に可能なら全探索の方が良いんじゃないか?
666デフォルトの名無しさん
2020/01/20(月) 22:42:22.14ID:vyZs8dgX667デフォルトの名無しさん
2020/01/20(月) 23:01:52.63ID:kEPXORSp 問題に適した解法なら>>631が最強
668デフォルトの名無しさん
2020/01/20(月) 23:10:30.44ID:vyZs8dgX (´・ω・`)「・・・・・」
669デフォルトの名無しさん
2020/01/21(火) 14:48:52.44ID:/dftakVp >>650
Kotlin script
KotlinもBooleanのxor使えたよ。こういう場合は優先順位の問題で括弧が必要になるけどね。
println((1..1000).filter { (it % 3 == 0) xor (it % 5 == 0) }.sum())
Kotlin script
KotlinもBooleanのxor使えたよ。こういう場合は優先順位の問題で括弧が必要になるけどね。
println((1..1000).filter { (it % 3 == 0) xor (it % 5 == 0) }.sum())
670デフォルトの名無しさん
2020/01/21(火) 16:44:59.42ID:TMO7rdDn !=でいんじゃ、、、
671デフォルトの名無しさん
2020/01/21(火) 21:56:37.25ID:q8k+mYw1 ["A -> B" , "A -> D", "B -> E", "D -> E"]
を
A
B
E
D
E
このようにツリー状に表現する際に計算量が少ない書き出し方ってどうなりますか。言語問いません。
を
A
B
E
D
E
このようにツリー状に表現する際に計算量が少ない書き出し方ってどうなりますか。言語問いません。
672デフォルトの名無しさん
2020/01/21(火) 21:57:01.85ID:q8k+mYw1 スペースきえた…
673デフォルトの名無しさん
2020/01/21(火) 21:58:36.68ID:5H3OckH4 D -> B のようなループできるかもね
674デフォルトの名無しさん
2020/01/22(水) 03:28:09.12ID:HNO/xGn/ >>670
それを言っちゃあおしめえよ
それを言っちゃあおしめえよ
675デフォルトの名無しさん
2020/01/22(水) 10:29:09.24ID:Oj6zQLXh676デフォルトの名無しさん
2020/01/22(水) 11:00:25.26ID:8VKZzbv1 >>671
dot
dot
677デフォルトの名無しさん
2020/01/22(水) 19:16:47.36ID:0ayd3B3Q678デフォルトの名無しさん
2020/01/22(水) 19:50:15.23ID:k+w34kNu ["A -> B" , "B -> A]
これで循環参照のチェックいれるコードがない再帰っぽい感じなら無限に出力だ
これで循環参照のチェックいれるコードがない再帰っぽい感じなら無限に出力だ
679デフォルトの名無しさん
2020/01/22(水) 19:55:17.74ID:F1N+c+gr 閉路と多重辺は無しで
辺の無い点も表現出来ないので無し
辺の無い点も表現出来ないので無し
680デフォルトの名無しさん
2020/01/22(水) 20:19:19.31ID:3jquT0bn >>677
20個ならループしない限りは内容が何だろうが20行にしかならないのでは?
20個ならループしない限りは内容が何だろうが20行にしかならないのでは?
681デフォルトの名無しさん
2020/01/22(水) 20:23:02.50ID:1i745hKi 最大は21行だよ
682デフォルトの名無しさん
2020/01/22(水) 20:40:06.51ID:3jquT0bn あー。そうか。21だね。
683デフォルトの名無しさん
2020/01/22(水) 20:43:02.80ID:F1N+c+gr >>671に "E -> C" を加えると?
684デフォルトの名無しさん
2020/01/22(水) 21:13:37.75ID:pXdYyKNl685デフォルトの名無しさん
2020/01/23(木) 01:12:44.95ID:LqZxq9h8 >>683
分岐か。そうすれば増えるね。
分岐か。そうすれば増えるね。
686デフォルトの名無しさん
2020/01/23(木) 18:13:14.12ID:AdSJ3UeH [] 0行
["A -> B"] 2行
["A -> C", "B -> C"] 4行
["A -> D", "B -> D", "C -> D"] 6行
["A -> D", "B -> D", "C -> D", "D -> E"] 9行
["A -> B"] 2行
["A -> C", "B -> C"] 4行
["A -> D", "B -> D", "C -> D"] 6行
["A -> D", "B -> D", "C -> D", "D -> E"] 9行
687デフォルトの名無しさん
2020/01/23(木) 18:45:00.25ID:AdSJ3UeH n≧12 の時、以下を四捨五入した行数になるかな
偶数
4 * exp(n*0.24060591252980172375)
奇数
4.0137530980362538594 * exp(n*0.24060591252980172375)
偶数
4 * exp(n*0.24060591252980172375)
奇数
4.0137530980362538594 * exp(n*0.24060591252980172375)
688デフォルトの名無しさん
2020/01/24(金) 23:55:14.11ID:qxZ+oily >>671 Perl5 (goto 関数を使っていますが、perl5ではこれはcontinuationです)
use feature qw{current_sub signatures};
no warnings 'experimental::signatures';
@sx = (A => B, A => D, B => E, D => E);
sub {
if (@_) {
($a, $b) = (shift, shift);
push @lx, $a unless $h{$a};
push @{$h{$a}}, $b;
$r{$b}{$a} = 1;
goto __SUB__;
}
}->(@sx);
@ax = grep{! $r{$_}} @lx;
sub ($a, $d) {
print "$d$a\n";
__SUB__->($b, "_$d") while $b = shift @{$h{$a}};
}->($_, '') for @ax;
実行結果
$ perl 16_671.pl
A
_B
__E
_D
__E
use feature qw{current_sub signatures};
no warnings 'experimental::signatures';
@sx = (A => B, A => D, B => E, D => E);
sub {
if (@_) {
($a, $b) = (shift, shift);
push @lx, $a unless $h{$a};
push @{$h{$a}}, $b;
$r{$b}{$a} = 1;
goto __SUB__;
}
}->(@sx);
@ax = grep{! $r{$_}} @lx;
sub ($a, $d) {
print "$d$a\n";
__SUB__->($b, "_$d") while $b = shift @{$h{$a}};
}->($_, '') for @ax;
実行結果
$ perl 16_671.pl
A
_B
__E
_D
__E
689デフォルトの名無しさん
2020/01/25(土) 02:34:16.23ID:XZtTnZKV690デフォルトの名無しさん
2020/01/25(土) 02:36:37.70ID:XZtTnZKV つか、無向グラフの最小サイクル検出って
いいアルゴリズムあったっけ
いいアルゴリズムあったっけ
691デフォルトの名無しさん
2020/01/25(土) 06:09:52.81ID:Fgzm1LAC 最小サイクルとは?
コストが最小?通る辺の数が最小?
コストとは?
通る辺の重みの和?
点のコストはゼロ?
出題者しかわからない前提が色々とあるお題
コストが最小?通る辺の数が最小?
コストとは?
通る辺の重みの和?
点のコストはゼロ?
出題者しかわからない前提が色々とあるお題
692デフォルトの名無しさん
2020/01/25(土) 06:22:55.26ID:Fgzm1LAC >>688
gotoを使っちゃいけないローカルルールとかあるの?
gotoを使っちゃいけないローカルルールとかあるの?
693デフォルトの名無しさん
2020/01/25(土) 08:11:44.03ID:O6wUvbi6 tsort(1) ?
694デフォルトの名無しさん
2020/01/25(土) 10:35:48.88ID:ZrgQFiPc >>692
そんなルールはないけれど、制御構造の構文の代わりに安直に
goto分岐を使ったヘッポココードではなくて、perl5のgoto 関数名構文が持つ
continuationの機能を使って、動的環境を維持したまま末尾再帰的な
loopを表現したと言いたかったのよ
そんなルールはないけれど、制御構造の構文の代わりに安直に
goto分岐を使ったヘッポココードではなくて、perl5のgoto 関数名構文が持つ
continuationの機能を使って、動的環境を維持したまま末尾再帰的な
loopを表現したと言いたかったのよ
695デフォルトの名無しさん
2020/01/25(土) 10:38:39.91ID:icKJvqvk なるほど
お前はなかなかやるじゃねえか
お前はなかなかやるじゃねえか
696デフォルトの名無しさん
2020/01/25(土) 11:05:32.17ID:mLh1vP4R お題
.bash_history には、入力したコマンドが、1行ずつ追記されていくが、
同じコマンドが出てくると面倒なので、古い(上にある)方をすべて消してください
入力
5
3
1
4
2
5
3
4
5
出力
1
2
3
4
5
.bash_history には、入力したコマンドが、1行ずつ追記されていくが、
同じコマンドが出てくると面倒なので、古い(上にある)方をすべて消してください
入力
5
3
1
4
2
5
3
4
5
出力
1
2
3
4
5
697デフォルトの名無しさん
2020/01/25(土) 11:14:27.65ID:wxh/zNmo698デフォルトの名無しさん
2020/01/25(土) 12:48:36.66ID:dgvYVRBF699デフォルトの名無しさん
2020/01/25(土) 13:56:27.24ID:yjSryLut >>696 Perl5
$h{$_} = $. while <>;
print for sort{$h{$a} <=> $h{$b}} keys %h;
実行結果
~ $ cat .bash_history
5
3
1
4
2
5
3
4
5
~ $ perl 16_696.pl .bash_history
1
2
3
4
5
$h{$_} = $. while <>;
print for sort{$h{$a} <=> $h{$b}} keys %h;
実行結果
~ $ cat .bash_history
5
3
1
4
2
5
3
4
5
~ $ perl 16_696.pl .bash_history
1
2
3
4
5
700デフォルトの名無しさん
2020/01/25(土) 18:59:55.00ID:xXb4DuHd701デフォルトの名無しさん
2020/01/25(土) 19:19:17.51ID:i4ScOGkF702デフォルトの名無しさん
2020/01/25(土) 19:26:44.09ID:eYyvJiZZ703デフォルトの名無しさん
2020/01/25(土) 20:22:19.72ID:J6xo1Vbp >>696 Emacs Lisp
(with-temp-buffer-window #1="*odai-pt16-696*" nil nil
(switch-to-buffer #1#)
(insert-file-contents "~/.bash_history")
(delete-duplicate-lines (point-min) (point-max) t))
(with-temp-buffer-window #1="*odai-pt16-696*" nil nil
(switch-to-buffer #1#)
(insert-file-contents "~/.bash_history")
(delete-duplicate-lines (point-min) (point-max) t))
704デフォルトの名無しさん
2020/01/26(日) 00:01:21.24ID:4S7WZkam >>701 ナイス
705デフォルトの名無しさん
2020/01/26(日) 00:02:23.79ID:4S7WZkam706696
2020/01/26(日) 00:35:54.22ID:2jcz6vHU >>702
スレ違いで、スマンが、
erasedups で、現在の行と一致する履歴を、保存前にすべて削除するけど、
WSL, Ubuntu 18.04, bash では、削除されなかった!
これは難しい
tmuxとかの仮想端末で複数の画面間で、Bashのコマンド履歴を共有すると、
同じ履歴が何度も記録されてしまう問題を解決する
https://piro.sa@kura.ne.jp/latest/blosxom/webtech/2018-03-04_history-nodup-with-tmux.htm
スレ違いで、スマンが、
erasedups で、現在の行と一致する履歴を、保存前にすべて削除するけど、
WSL, Ubuntu 18.04, bash では、削除されなかった!
これは難しい
tmuxとかの仮想端末で複数の画面間で、Bashのコマンド履歴を共有すると、
同じ履歴が何度も記録されてしまう問題を解決する
https://piro.sa@kura.ne.jp/latest/blosxom/webtech/2018-03-04_history-nodup-with-tmux.htm
707デフォルトの名無しさん
2020/01/26(日) 01:20:33.64ID:4S7WZkam >>706
モチツケ
モチツケ
708696
2020/01/26(日) 01:39:31.40ID:2jcz6vHU history の仕組みが難しいから、
定期的に、ここのスクリプトで、履歴ファイルを上書きした方が良いかも
定期的に、ここのスクリプトで、履歴ファイルを上書きした方が良いかも
709デフォルトの名無しさん
2020/01/26(日) 01:43:44.81ID:HPdacZve rubyXLでエクセルいじってるが
印刷範囲を設定したいときは、どのようにすればよいのでしょうか?
いろいろ探しても見当たらず・・
印刷範囲を設定したいときは、どのようにすればよいのでしょうか?
いろいろ探しても見当たらず・・
710デフォルトの名無しさん
2020/01/26(日) 02:08:32.67ID:4S7WZkam711696
2020/01/26(日) 05:19:41.93ID:2jcz6vHU712696
2020/01/26(日) 06:05:44.52ID:2jcz6vHU >>696
Ruby で作った。
コマンドは「ruby script.rb 入力ファイル名」
# ARGF とは、複数のファイルや標準入力を連結して、1つにした仮想ファイル
ary = ARGF.readlines # 1行ずつ配列に入れる
# ! が付く破壊的メソッドは、メソッドチェーンしない!
ary.reverse!
ary.uniq! # 連続していないものも削除する
ary.reverse! # 元に戻す
print ary.join
Ruby で作った。
コマンドは「ruby script.rb 入力ファイル名」
# ARGF とは、複数のファイルや標準入力を連結して、1つにした仮想ファイル
ary = ARGF.readlines # 1行ずつ配列に入れる
# ! が付く破壊的メソッドは、メソッドチェーンしない!
ary.reverse!
ary.uniq! # 連続していないものも削除する
ary.reverse! # 元に戻す
print ary.join
714デフォルトの名無しさん
2020/01/26(日) 09:38:26.36ID:6CyPsFJq お題: 入力された整数を因数分解し、因数の数だけ「どんだけぇ〜♪」と表示せよ
in < 24
因数分解: 2 2 2 3
out > どんだけぇ〜♪
どんだけぇ〜♪
どんだけぇ〜♪
どんだけぇ〜♪
in < 24
因数分解: 2 2 2 3
out > どんだけぇ〜♪
どんだけぇ〜♪
どんだけぇ〜♪
どんだけぇ〜♪
715デフォルトの名無しさん
2020/01/26(日) 10:24:47.39ID:mBsLdcGX >>709
121 名前:デフォルトの名無しさん (ワッチョイ a763-gk0v)[] 投稿日:2020/01/25(土) 15:52:45.46 ID:WZ3Oswhu0
rubyXLでエクセルいじってるが
印刷範囲を設定したいときは、どのようにすればよいのでしょうか?
いろいろ探しても見当たらず・・
121 名前:デフォルトの名無しさん (ワッチョイ a763-gk0v)[] 投稿日:2020/01/25(土) 15:52:45.46 ID:WZ3Oswhu0
rubyXLでエクセルいじってるが
印刷範囲を設定したいときは、どのようにすればよいのでしょうか?
いろいろ探しても見当たらず・・
716デフォルトの名無しさん
2020/01/26(日) 10:35:06.75ID:OyPCa8uu717デフォルトの名無しさん
2020/01/26(日) 11:45:57.12ID:pipfilQo718蟻人間 ◆T6xkBnTXz7B0
2020/01/26(日) 15:31:19.81ID:QR2U0M8L お題: どこかの国に競馬があった。そこの競馬場のルールでは馬券一枚に対して単勝の馬一頭しか選べない。
その日の各ゲームのそれぞれの出場馬について、名前と勝率とオッズが掲示されている。
【今日の競馬】
ゲーム1:
馬A, 0.5, 2.0
馬B, 0.8, 1.2
馬C, 0.9, 0.2
ゲーム2:
馬D, 0.3, 4.0
馬E, 0.5, 3.0
馬F, 0.8, 1.4
予算50,000円で獲得期待金額が最大になるように馬券を購入せよ。馬券の購入において、小数点以下は切り捨てとし、馬券には税金が掛からないものと仮定する。
その日の各ゲームのそれぞれの出場馬について、名前と勝率とオッズが掲示されている。
【今日の競馬】
ゲーム1:
馬A, 0.5, 2.0
馬B, 0.8, 1.2
馬C, 0.9, 0.2
ゲーム2:
馬D, 0.3, 4.0
馬E, 0.5, 3.0
馬F, 0.8, 1.4
予算50,000円で獲得期待金額が最大になるように馬券を購入せよ。馬券の購入において、小数点以下は切り捨てとし、馬券には税金が掛からないものと仮定する。
719デフォルトの名無しさん
2020/01/26(日) 15:44:50.09ID:uQg9mh+n 勝率の和が1を越えてるけど勝率って言うのは勝つ確率のことではなくて何かしらの競馬用語なのか?
720蟻人間 ◆T6xkBnTXz7B0
2020/01/26(日) 15:46:20.30ID:TOQ25Lx5 ここでは、払戻金の倍率(賭けた金が何倍になって払い戻されるか)のことをオッズと呼ぶことにする。払戻金は小数点以下切り捨てとする。
721デフォルトの名無しさん
2020/01/26(日) 15:47:57.17ID:uQg9mh+n てよく見たらいつもの糞コテやん
解散
解散
723デフォルトの名無しさん
2020/01/26(日) 16:14:00.67ID:jQnb27FW 勝つ確率がわからないなら期待値もわからない
普通は買わないのが一番
普通は買わないのが一番
724デフォルトの名無しさん
2020/01/26(日) 16:45:22.64ID:jQnb27FW オッズ0.2って何?
725デフォルトの名無しさん
2020/01/26(日) 17:18:30.67ID:aRFw4TjA 杜撰なお題だなw
727デフォルトの名無しさん
2020/01/26(日) 17:23:34.39ID:uQg9mh+n 100円の馬券が当たるとなんと20円に!
728デフォルトの名無しさん
2020/01/26(日) 18:27:58.48ID:jQnb27FW >>718
ちゃんとしたお題にするつもりが無いなら取り下げて
ちゃんとしたお題にするつもりが無いなら取り下げて
730デフォルトの名無しさん
2020/01/26(日) 18:56:39.39ID:OTxXTlwF >>714
初心者です
JavaScriptです
let n = 24;
const factors = [];
for(let i=2;i<=Math.floor(n/2);i++){
if(n % i !== 0) continue;
for(;;) {
n /= i;
factors.push(i);
if(n % i !== 0) break;
}
}
for(let i=0; i<factors.length; i++) {
console.log('どんだけぇ〜♪')
}
って感じに書いたのですがどうも外側のループで i = 3 以上が実行されないらしく困っています
もしかしたら初学者の自分にもできるかもしれないと思い取り組んでみたのですが…
もしどなたかお知恵をお貸しくだされば嬉しいです
初心者です
JavaScriptです
let n = 24;
const factors = [];
for(let i=2;i<=Math.floor(n/2);i++){
if(n % i !== 0) continue;
for(;;) {
n /= i;
factors.push(i);
if(n % i !== 0) break;
}
}
for(let i=0; i<factors.length; i++) {
console.log('どんだけぇ〜♪')
}
って感じに書いたのですがどうも外側のループで i = 3 以上が実行されないらしく困っています
もしかしたら初学者の自分にもできるかもしれないと思い取り組んでみたのですが…
もしどなたかお知恵をお貸しくだされば嬉しいです
731デフォルトの名無しさん
2020/01/26(日) 19:03:07.14ID:uQg9mh+n732デフォルトの名無しさん
2020/01/26(日) 19:09:59.33ID:OTxXTlwF733デフォルトの名無しさん
2020/01/26(日) 19:18:27.22ID:9QNAjmQu n % i !== 0
734デフォルトの名無しさん
2020/01/26(日) 19:23:55.94ID:pipfilQo >>729
ビルの回数Nを引数として受け取って次の問題を解くプログラムを作ってください
N階建てのビルのある階から卵を落とします。
卵はある階よりも低ければ割れることはなく、ある階よりも高いと割れてしまう。
今、あなたは卵を2つ持っています。
卵が何階で割れるかを調べるもっとも効率のよい方法は何ですか?
そして、その方法で必要な卵を落とす回数は最大で何回ですか?
ビルの回数Nを引数として受け取って次の問題を解くプログラムを作ってください
N階建てのビルのある階から卵を落とします。
卵はある階よりも低ければ割れることはなく、ある階よりも高いと割れてしまう。
今、あなたは卵を2つ持っています。
卵が何階で割れるかを調べるもっとも効率のよい方法は何ですか?
そして、その方法で必要な卵を落とす回数は最大で何回ですか?
735デフォルトの名無しさん
2020/01/26(日) 19:26:53.35ID:TCoNMy8F 2分探索じゃだめか?
736デフォルトの名無しさん
2020/01/26(日) 19:40:43.12ID:yXTxN+fl >>714
C++ イデオン揚げるの面倒なのでべた書きしておくわ。
半月ぶり位にコード書いたけど、やはり良いね。
#include <iostream>
#include <cstdint>
int main() {
std::uintmax_t N = 24;
while (std::cin >> N) {
for (std::uintmax_t i = 2; i <= N; i++) {
while (N % i == 0 && N != 0) {
N /= i;
std::cout <<i<< ":どんだけー。" << std::endl;
}
}
std::cout << std::endl;
}
return 0;
}
C++ イデオン揚げるの面倒なのでべた書きしておくわ。
半月ぶり位にコード書いたけど、やはり良いね。
#include <iostream>
#include <cstdint>
int main() {
std::uintmax_t N = 24;
while (std::cin >> N) {
for (std::uintmax_t i = 2; i <= N; i++) {
while (N % i == 0 && N != 0) {
N /= i;
std::cout <<i<< ":どんだけー。" << std::endl;
}
}
std::cout << std::endl;
}
return 0;
}
737デフォルトの名無しさん
2020/01/26(日) 19:46:17.80ID:3yHBwxN6738デフォルトの名無しさん
2020/01/26(日) 19:50:34.44ID:3yHBwxN6 卵を使う個数
ってのもある
これだとリニア検索で1個使用でつまらん問題になるけど
ってのもある
これだとリニア検索で1個使用でつまらん問題になるけど
739デフォルトの名無しさん
2020/01/26(日) 20:01:47.72ID:vOa1pk8h740デフォルトの名無しさん
2020/01/26(日) 20:15:04.58ID:yXTxN+fl741デフォルトの名無しさん
2020/01/26(日) 20:16:59.01ID:pipfilQo >>735
二分探索だとタマゴが割れて調べられないケースがでてくるんよー
二分探索だとタマゴが割れて調べられないケースがでてくるんよー
742デフォルトの名無しさん
2020/01/26(日) 20:22:08.04ID:OTxXTlwF743デフォルトの名無しさん
2020/01/26(日) 20:28:47.99ID:3yHBwxN6744デフォルトの名無しさん
2020/01/26(日) 20:30:52.46ID:yXTxN+fl >>742
後学のために教えてほしいんだが、なんでnをsqrtしてsup作ってるんだい?
後学のために教えてほしいんだが、なんでnをsqrtしてsup作ってるんだい?
745デフォルトの名無しさん
2020/01/26(日) 20:34:49.19ID:3yHBwxN6■ このスレッドは過去ログ倉庫に格納されています
ニュース
- 【おこめ券】物価高対策の“おこめ券”全米販は1枚477円で販売へ 鈴木農水大臣「国民の皆様に活用いただきやすいよう工夫いただいた」★2 [ぐれ★]
- 高市首相の答弁書に「台湾有事答えない」と明記 存立危機発言当時 ★5 [蚤の市★]
- 神田沙也加さん元恋人で元俳優の前山剛久 六本木のメンズラウンジ勤務を報告「真叶(まなと)です。よろしく」 [muffin★]
- 【麻雀】プロ雀士の岡田紗佳さんが勝訴、点数計算めぐる発言は「違法とは言えず」 大宮簡裁 [征夷大将軍★]
- ハリウッド実写版『ストリートファイター』初映像解禁 リュウ&春麗らのビジュアルも公開 [muffin★]
- 【老舗文具メーカー】「生成AIで制作していた」――サクラクレパス、“AI疑惑”ポスターの調査結果を報告 ★2 [ぐれ★]
- 名鉄の名古屋駅再開発に大幅な遅れ、人手不足と建設費高騰、バスセンター・ホテルの営業終了にも影響か [943688309]
- 【高市悲報】片山さつき「かじ取り間違えてデフレになったらどうすんの!😡」😲 [359965264]
- カツ丼できた!wwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwww
- VTuber叩きが大流行してる理由、1枚の画像で解説される…!! [858219337]
- 参政党議員「クジラの肉を食べないのは流通や販路に問題があるからだよね?」 [592058334]
- __トランプ、G7に代わる「Core 5」構想、米 中 露 印 日をまとめる巨大枠組み、世界秩序の再編につながる可能性 [827565401]
