プログラミングのお題スレです。
【出題と回答例】
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
514デフォルトの名無しさん
2019/12/31(火) 09:03:13.10ID:hkax3Wzu お題
フィボナッチ数列のn番目をF(n)とした時
F(F(80))の下位8桁を求めよ
フィボナッチ数列は以下で定義される数列である
F(1)=1
F(2)=1
F(n)=F(n-2)+F(n-1)
フィボナッチ数列のn番目をF(n)とした時
F(F(80))の下位8桁を求めよ
フィボナッチ数列は以下で定義される数列である
F(1)=1
F(2)=1
F(n)=F(n-2)+F(n-1)
515デフォルトの名無しさん
2019/12/31(火) 10:24:38.95ID:NKLtpqnc516デフォルトの名無しさん
2019/12/31(火) 12:24:58.82ID:5aZymNkm >>515
Rは整数が32ビットまでで桁あふれするから、Juliaで書く。
F = Int64[1 1; 1 0]
n = (F ^ 80)[1, 2]
P = Int64[1 0; 0 1]
R = F
while n > 0
global r = n % 2
global n = div(n, 2)
if r > 0
global P = P * R .% 100000000
end
global R = R * R .% 100000000
end
println(P[1, 2])
-- 実行結果 --
21055810
Rは整数が32ビットまでで桁あふれするから、Juliaで書く。
F = Int64[1 1; 1 0]
n = (F ^ 80)[1, 2]
P = Int64[1 0; 0 1]
R = F
while n > 0
global r = n % 2
global n = div(n, 2)
if r > 0
global P = P * R .% 100000000
end
global R = R * R .% 100000000
end
println(P[1, 2])
-- 実行結果 --
21055810
518デフォルトの名無しさん
2019/12/31(火) 13:18:28.06ID:5aZymNkm519デフォルトの名無しさん
2019/12/31(火) 17:23:41.22ID:NKLtpqnc520513
2019/12/31(火) 18:46:25.67ID:H+c+1UtF521デフォルトの名無しさん
2019/12/31(火) 18:47:43.73ID:H+c+1UtF >>514でした
すみません
すみません
522デフォルトの名無しさん
2019/12/31(火) 19:45:18.11ID:5fWgt8Ro523デフォルトの名無しさん
2019/12/31(火) 20:25:50.73ID:W8YPZd1D >>522
100億人に2020になる素数をプレゼント出来そうだ。
100億人に2020になる素数をプレゼント出来そうだ。
524デフォルトの名無しさん
2019/12/31(火) 20:58:55.61ID:5fWgt8Ro525デフォルトの名無しさん
2020/01/01(水) 07:48:09.89ID:W9Zu1XGU >>523
素数2個の2020は41人しかあげられない。
素数2個の2020は41人しかあげられない。
527デフォルトの名無しさん
2020/01/01(水) 12:56:41.11ID:WIYGoppO お題
a^n + b^n + c^n = 2020
の整数解のうちnが最大の物を求めよ
a^n + b^n + c^n = 2020
の整数解のうちnが最大の物を求めよ
529デフォルトの名無しさん
2020/01/01(水) 15:29:53.46ID:qVK/11PV A HAPPY NEW YEAR !!!
というコード。
というコード。
530デフォルトの名無しさん
2020/01/02(木) 04:45:53.28ID:cCzcmPOa531デフォルトの名無しさん
2020/01/02(木) 14:00:53.09ID:2eGsq/cP (´;ω;`)
532デフォルトの名無しさん
2020/01/03(金) 03:43:04.42ID:ct9N0pK8 お題
a^3 + b^3 + c^3 = 2020 * 2
の整数解を求めよ。
a^3 + b^3 + c^3 = 2020 * 2
の整数解を求めよ。
533デフォルトの名無しさん
2020/01/03(金) 03:49:51.76ID:ct9N0pK8 追加
a^3 + b^3 + c^3 = 2020 / 2・2
の整数解を求めよ。
a^3 + b^3 + c^3 = 2020 / 2・2
の整数解を求めよ。
534デフォルトの名無しさん
2020/01/03(金) 03:54:35.20ID:pVliia9g >>486
Kotlin
https://paiza.io/projects/5OHDudzLFUjSV6DAdxFcfw
こんなので良いの?単に掛け算して一致するか比較しているだけなんだけど。
オマケとして重複しないようにはしているが。
Kotlin
https://paiza.io/projects/5OHDudzLFUjSV6DAdxFcfw
こんなので良いの?単に掛け算して一致するか比較しているだけなんだけど。
オマケとして重複しないようにはしているが。
535デフォルトの名無しさん
2020/01/03(金) 04:17:21.42ID:pVliia9g536デフォルトの名無しさん
2020/01/03(金) 04:18:44.02ID:pVliia9g >>533
最後の 2・2 の部分って何? 2.2? こっちで文字化けしてちゃんと表示されてないだけ?
最後の 2・2 の部分って何? 2.2? こっちで文字化けしてちゃんと表示されてないだけ?
537デフォルトの名無しさん
2020/01/03(金) 09:45:42.54ID:+RiBlMC+ >>536
2020 / 2・2 = 2020 / 2 * 2 = 2020
2020 / 2・2 = 2020 / 2 * 2 = 2020
538デフォルトの名無しさん
2020/01/03(金) 12:48:37.25ID:3k7MKqlh539デフォルトの名無しさん
2020/01/03(金) 12:51:02.88ID:3k7MKqlh >>527
n乗して64bitの範囲だとn=2しか発見出来なかった
n乗して64bitの範囲だとn=2しか発見出来なかった
540デフォルトの名無しさん
2020/01/03(金) 20:05:33.33ID:3k7MKqlh >>532
C
https://ideone.com/ctjDC0
38個見つけるのに1時間くらいかかりました
38個目 (1661082, 440694, -1671358)
こういうのはC/C++が得意でしょう
他の言語で出来ます? (挑戦)
C
https://ideone.com/ctjDC0
38個見つけるのに1時間くらいかかりました
38個目 (1661082, 440694, -1671358)
こういうのはC/C++が得意でしょう
他の言語で出来ます? (挑戦)
541デフォルトの名無しさん
2020/01/04(土) 17:22:50.50ID:HJ66bOYq542デフォルトの名無しさん
2020/01/04(土) 17:47:47.60ID:6lKY6ugm over flow周りはあってるんだかわからん
https://i.imgur.com/PndnV6t.png
https://i.imgur.com/PndnV6t.png
543デフォルトの名無しさん
2020/01/04(土) 19:01:02.66ID:hAlxX0tq Mathematica ?
544デフォルトの名無しさん
2020/01/04(土) 20:28:18.17ID:rMjoeVI8 お題: 文字列を逆順にしてコピーするreverse関数を定義せよ(既存のライブラリを使ってはならない)
545デフォルトの名無しさん
2020/01/04(土) 20:40:17.01ID:YRTK1M0u546デフォルトの名無しさん
2020/01/04(土) 20:46:16.21ID:HJ66bOYq >>544 PowerShell
function reverse($s) {-join $s[-1..-$s.length]}
reverse 文字列を逆順にしてコピーするreverse関数を定義せよ
-- 実行結果 --
よせ義定を数関esreverるすーピコてしに順逆を列字文
function reverse($s) {-join $s[-1..-$s.length]}
reverse 文字列を逆順にしてコピーするreverse関数を定義せよ
-- 実行結果 --
よせ義定を数関esreverるすーピコてしに順逆を列字文
547デフォルトの名無しさん
2020/01/04(土) 21:12:58.70ID:AqMdau2S >>544 Ruby
def reverse( s ); s.chars.inject(:prepend); end
def reverse( s ); s.chars.inject(:prepend); end
548デフォルトの名無しさん
2020/01/04(土) 21:13:39.03ID:rMjoeVI8549デフォルトの名無しさん
2020/01/04(土) 21:26:02.66ID:e7dEja3I550デフォルトの名無しさん
2020/01/05(日) 00:51:01.04ID:Y4p4/H36 >>544
Kotlin
https://paiza.io/projects/RdcgXqdUDC52BTO0y9n1zw
Kotlin の String には reversed() という文字列順序逆転のための拡張関数が最初からあって紛らわしいので rev() という名前で自作した。
Kotlin
https://paiza.io/projects/RdcgXqdUDC52BTO0y9n1zw
Kotlin の String には reversed() という文字列順序逆転のための拡張関数が最初からあって紛らわしいので rev() という名前で自作した。
551デフォルトの名無しさん
2020/01/05(日) 08:25:52.70ID:h+ccWvVu552デフォルトの名無しさん
2020/01/05(日) 08:35:04.57ID:OU8kozEP553デフォルトの名無しさん
2020/01/05(日) 11:04:36.67ID:Z8HxF2cT554デフォルトの名無しさん
2020/01/05(日) 15:25:24.03ID:+tGOF19X555デフォルトの名無しさん
2020/01/05(日) 16:01:41.83ID:8nvrboOv >>540
こういうのを見ると我々は離散数学についてはほぼ無力と思う。
こういうのを見ると我々は離散数学についてはほぼ無力と思う。
556デフォルトの名無しさん
2020/01/05(日) 17:02:46.74ID:x729cdax >>555
勉強しとけ
勉強しとけ
557デフォルトの名無しさん
2020/01/05(日) 21:49:56.17ID:2Fq0AHrI558デフォルトの名無しさん
2020/01/05(日) 21:52:10.17ID:2Fq0AHrI >>542
仮数部も指数部も間違っている。整数で1の位まで正確に求められるよ。
仮数部も指数部も間違っている。整数で1の位まで正確に求められるよ。
559デフォルトの名無しさん
2020/01/05(日) 22:31:31.58ID:h+ccWvVu >>540 サンクス
>>532 の解
{13, 11, 8}
{15, 9, -4}
{8, 1, -2} * 2
{9, -2, -6} * 2
{16, -6, -15} * 2
{74, -23, -73}
{43, -27, -39} * 2
{171, -75, -166}
{169, 64, -172} * 2
{516, 93, -517}
{414, 385, -504} * 2
{530, 337, -572}
{1098, 939, -1291}
{1290, 171, -1291}
{1626, -957, -1507}
{2251, -712, -2227}
{3107, -587, -3100}
{3299, 1018, -3331}
{3509, -2525, -3004}
{4022, -3163, -3221}
{2673, 1114, -2736} * 2
{13571, -9259, -11948}
{15291, -8419, -14388}
{10102, 674, -10103} * 2
{43943, 28524, -47631}
{23689, -3382, -23666} * 2 など。
>>532 の解
{13, 11, 8}
{15, 9, -4}
{8, 1, -2} * 2
{9, -2, -6} * 2
{16, -6, -15} * 2
{74, -23, -73}
{43, -27, -39} * 2
{171, -75, -166}
{169, 64, -172} * 2
{516, 93, -517}
{414, 385, -504} * 2
{530, 337, -572}
{1098, 939, -1291}
{1290, 171, -1291}
{1626, -957, -1507}
{2251, -712, -2227}
{3107, -587, -3100}
{3299, 1018, -3331}
{3509, -2525, -3004}
{4022, -3163, -3221}
{2673, 1114, -2736} * 2
{13571, -9259, -11948}
{15291, -8419, -14388}
{10102, 674, -10103} * 2
{43943, 28524, -47631}
{23689, -3382, -23666} * 2 など。
560デフォルトの名無しさん
2020/01/05(日) 22:41:01.23ID:h+ccWvVu >>533 の解
{8, 1, -2}
{9, -2, -6}
{16, -6, -15}
{43, -27, -39}
{169, 64, -172}
{414, 385, -504}
{530, 337, -572}
{2673, 1114, -2736}
{10102, 674, -10103}
{23689, -3382, -23666}
・・・ ・・・
{830541, 220347, -835679} など。
{8, 1, -2}
{9, -2, -6}
{16, -6, -15}
{43, -27, -39}
{169, 64, -172}
{414, 385, -504}
{530, 337, -572}
{2673, 1114, -2736}
{10102, 674, -10103}
{23689, -3382, -23666}
・・・ ・・・
{830541, 220347, -835679} など。
561デフォルトの名無しさん
2020/01/05(日) 22:48:30.69ID:bLPoA6E7 >>541
C++
https://ideone.com.VJk9QA
倍精度だと微妙に精度が足りないので
擬似4倍精度で計算してみた
4倍精度や多倍長が使える言語やライブラリを使えば一瞬で書けるんだけど
C++
https://ideone.com.VJk9QA
倍精度だと微妙に精度が足りないので
擬似4倍精度で計算してみた
4倍精度や多倍長が使える言語やライブラリを使えば一瞬で書けるんだけど
562デフォルトの名無しさん
2020/01/05(日) 22:49:34.33ID:bLPoA6E7563デフォルトの名無しさん
2020/01/05(日) 23:29:51.01ID:2Fq0AHrI >>562
正解。
Rには多倍長浮動小数点パッケージRmpfrがあるので、120ビット精度での計算をさっと書ける。
多倍長整数パッケージgmpにはフィボナッチ数列の第n項を求める関数があるので、第80項を
自分で求める必要すらない。
https://ideone.com/VcxXIm
C/C++にもlong double型があるので楽勝!と思っていると罠に嵌まる。Visual C++では
long doubleは移植性(単にコンパイルが通るという意味で)のために定義されているだけで、
double精度しかないので使えない。GNU C++ではlong doubleが本当のlong doubleなので使える。
https://ideone.com/3puKYQ
これをVisual C++やGNU Cで実行すると、1の位が2大きい不正確な値が表示されてしまう。
https://ideone.com/Md5qZz
正解。
Rには多倍長浮動小数点パッケージRmpfrがあるので、120ビット精度での計算をさっと書ける。
多倍長整数パッケージgmpにはフィボナッチ数列の第n項を求める関数があるので、第80項を
自分で求める必要すらない。
https://ideone.com/VcxXIm
C/C++にもlong double型があるので楽勝!と思っていると罠に嵌まる。Visual C++では
long doubleは移植性(単にコンパイルが通るという意味で)のために定義されているだけで、
double精度しかないので使えない。GNU C++ではlong doubleが本当のlong doubleなので使える。
https://ideone.com/3puKYQ
これをVisual C++やGNU Cで実行すると、1の位が2大きい不正確な値が表示されてしまう。
https://ideone.com/Md5qZz
564デフォルトの名無しさん
2020/01/05(日) 23:41:09.00ID:2Fq0AHrI GNU C++にも罠があって、https://ideone.com/3puKYQ はideoneでは結果が正しく
表示されているが、Windows版でコンパイルすると「-0桁」になってしまう。
printfの%Lf書式指定子が何故か正常に機能しないようなので、long longに変換して
%lld書式指定子を使う必要がある。
表示されているが、Windows版でコンパイルすると「-0桁」になってしまう。
printfの%Lf書式指定子が何故か正常に機能しないようなので、long longに変換して
%lld書式指定子を使う必要がある。
565デフォルトの名無しさん
2020/01/05(日) 23:58:45.24ID:Z3Lsb/Mg566デフォルトの名無しさん
2020/01/06(月) 00:24:13.90ID:MKFPBGLf x87の80bit形式久々に聞いた
intelの失敗仕様
本当のlong doubleって言ったら128bitの事だと思う
intelの失敗仕様
本当のlong doubleって言ったら128bitの事だと思う
567デフォルトの名無しさん
2020/01/07(火) 12:16:08.47ID:lAASQTDH 本当の?
568デフォルトの名無しさん
2020/01/07(火) 13:02:38.21ID:PuPIfAOU 大きさと精度が一致しないということでは。
例えば、16ビット整数の加算において255+1で桁あふれが発生するのは、勘弁してほしい。
16ビット整数であれば精度も16ビットあってほしい。
例えば、16ビット整数の加算において255+1で桁あふれが発生するのは、勘弁してほしい。
16ビット整数であれば精度も16ビットあってほしい。
569デフォルトの名無しさん
2020/01/07(火) 13:13:00.08ID:4oL1Xwrc intelの拡張小数は箱も中身も80bitだぞ
隠れた1bitも隠さないから中身は79bitとも言えるかもしれないけど
隠れた1bitも隠さないから中身は79bitとも言えるかもしれないけど
570デフォルトの名無しさん
2020/01/07(火) 13:43:12.96ID:PuPIfAOU GCCのlong doubleは128ビットあるから。
571デフォルトの名無しさん
2020/01/07(火) 22:24:41.07ID:Y9qs9jpB572デフォルトの名無しさん
2020/01/07(火) 22:38:44.27ID:Y9qs9jpB ↑の出力結果
4893806799921043 (4893806799921042 + 0.855469)
丸める前の正確な値は
4893806799921042.8564973677594677....
なので小数第二位まで合っています
80bitでもギリギリって感じ
2進数だと
上位62bitまで正確、下位2bitが計算誤差
ということになります
4893806799921043 (4893806799921042 + 0.855469)
丸める前の正確な値は
4893806799921042.8564973677594677....
なので小数第二位まで合っています
80bitでもギリギリって感じ
2進数だと
上位62bitまで正確、下位2bitが計算誤差
ということになります
573デフォルトの名無しさん
2020/01/07(火) 23:09:32.62ID:Y9qs9jpB574デフォルトの名無しさん
2020/01/08(水) 17:55:41.24ID:E2HYW9Z+ お題
フィボナッチ数列のn番目をF(n)とした時
F(F(F(80)))の下位4桁を求めよ
フィボナッチ数列は以下で定義される数列である
F(1)=1
F(2)=1
F(n)=F(n-2)+F(n-1)
フィボナッチ数列のn番目をF(n)とした時
F(F(F(80)))の下位4桁を求めよ
フィボナッチ数列は以下で定義される数列である
F(1)=1
F(2)=1
F(n)=F(n-2)+F(n-1)
575デフォルトの名無しさん
2020/01/08(水) 18:47:53.52ID:bVQLyL/p フィフィフィボナッチ数列はお腹いっぱい
>>571
x87 すごくいいです!私も 9801FA に i487SX をようやく搭載して準備完了です!
x87 すごくいいです!私も 9801FA に i487SX をようやく搭載して準備完了です!
577デフォルトの名無しさん
2020/01/08(水) 20:00:11.84ID:naqRCa+g お前は昭和何年からタイムスリップしてきたんだ
578デフォルトの名無しさん
2020/01/08(水) 20:33:31.36ID:DEoUiUkq579デフォルトの名無しさん
2020/01/08(水) 21:16:17.44ID:E2HYW9Z+580デフォルトの名無しさん
2020/01/08(水) 23:38:33.13ID:3Vg9kR1l >>544 Perl5
use feature qw{say signatures};
sub reverse($s) {
map {substr $s, -$_, 1} 1..length $s;
}
say &reverse('reverse');
use feature qw{say signatures};
sub reverse($s) {
map {substr $s, -$_, 1} 1..length $s;
}
say &reverse('reverse');
581デフォルトの名無しさん
2020/01/10(金) 10:41:25.62ID:lJ/gG0sx お題:自分用expm1()的なもの。底はe以外でも良い。不正な引数でのエラー処理は
考慮しなくても良い。
考慮しなくても良い。
582デフォルトの名無しさん
2020/01/10(金) 13:20:18.79ID:KXQq2+DU 目的が高精度なのかSIMDなのか単に出題者が勉強したいだけなのか
もしかしてx87命令を使わせたい?
もしかしてx87命令を使わせたい?
583デフォルトの名無しさん
2020/01/10(金) 20:53:23.97ID:1usNcOvE >>581
expm1()って何?
expm1()って何?
584デフォルトの名無しさん
2020/01/10(金) 21:01:53.36ID:jjOShzcG エキスペディション・マグニチュードワンのことやろな
585581
2020/01/10(金) 22:06:13.03ID:lJ/gG0sx586デフォルトの名無しさん
2020/01/10(金) 22:10:45.27ID:lApN4p1F 四則演算も使ったらダメなのかい
588デフォルトの名無しさん
2020/01/11(土) 06:32:12.11ID:wIXPHQcF 出題者が方法を知りたいだけだよね?
なら質問スレ/宿題スレの方が適切
なら質問スレ/宿題スレの方が適切
589デフォルトの名無しさん
2020/01/11(土) 09:22:26.15ID:R1f0qLP3 お題
素数番目の素数をスーパー素数と言う。
スーパー素数の最初の100個を求める。
素数番目の素数をスーパー素数と言う。
スーパー素数の最初の100個を求める。
590デフォルトの名無しさん
2020/01/11(土) 10:27:02.77ID:LQrvWU7L >>589 Ruby 2.7.0
require 'Prime'
p Prime.take(100).then{|p| Prime.take(p.last).select.with_index{p.include?(-~_2)}}
# => [3, 5, 7, [中略], 3761, 3911]
require 'Prime'
p Prime.take(100).then{|p| Prime.take(p.last).select.with_index{p.include?(-~_2)}}
# => [3, 5, 7, [中略], 3761, 3911]
591デフォルトの名無しさん
2020/01/11(土) 10:31:32.27ID:LQrvWU7L typo
# => [3, 5, 11, 17, 31, [中略], 3733, 3761, 3911]
# => [3, 5, 11, 17, 31, [中略], 3733, 3761, 3911]
592デフォルトの名無しさん
2020/01/11(土) 10:52:09.93ID:VG9fEjGe お題
5の倍数の素数を5の倍数素数という
5の倍数素数を全て求めよ
5の倍数の素数を5の倍数素数という
5の倍数素数を全て求めよ
593デフォルトの名無しさん
2020/01/11(土) 11:10:43.29ID:V+Dyph4l 5の倍数の素数ってどういうことですか?
文字通りの意味なら5だけだと思うんですけど
文字通りの意味なら5だけだと思うんですけど
594デフォルトの名無しさん
2020/01/11(土) 13:10:43.10ID:JM9/51Sk >>544 Perl4
use feature qw{say signatures};
sub rev($s) {
$s ne '' and substr ($s, -1, 1, '') . rev($s)
}
say rev('string');
てす
use feature qw{say signatures};
sub rev($s) {
$s ne '' and substr ($s, -1, 1, '') . rev($s)
}
say rev('string');
てす
595デフォルトの名無しさん
2020/01/11(土) 13:14:26.71ID:JM9/51Sk >>594 Perl5 だった…orz
しかし、このソースの「substr (」のrと(の間のスペース文字を省くと
スレへの書き込みで
HTTP/1.1 403 Forbidden
が起きて書き込めなかったのは謎…
しかし、このソースの「substr (」のrと(の間のスペース文字を省くと
スレへの書き込みで
HTTP/1.1 403 Forbidden
が起きて書き込めなかったのは謎…
596デフォルトの名無しさん
2020/01/11(土) 14:01:21.01ID:M68szGrA >>592
echo 5
echo 5
597デフォルトの名無しさん
2020/01/11(土) 20:08:39.02ID:go77StkR お題
20200111の階乗を素因数分解したとき、すべての因数の積は20200111の階乗だが、
すべての因数の和は何か。
20200111の階乗を素因数分解したとき、すべての因数の積は20200111の階乗だが、
すべての因数の和は何か。
598デフォルトの名無しさん
2020/01/11(土) 20:55:04.41ID:r5wulSj/ ナベアツ理論か。
599デフォルトの名無しさん
2020/01/12(日) 00:39:46.42ID:PW2KE/yt >>595
書き込めないコマンドは、一杯ある。
「ls −l」とか
5ch は、特定の命令によって、表示の見た目を変えることができるから、
単に、表示する文字列に変換するだけじゃなくて、
投稿されたテキストから、命令を抽出したりしているから、
バグりそうなテキストを排除しているのだろう
書き込めないコマンドは、一杯ある。
「ls −l」とか
5ch は、特定の命令によって、表示の見た目を変えることができるから、
単に、表示する文字列に変換するだけじゃなくて、
投稿されたテキストから、命令を抽出したりしているから、
バグりそうなテキストを排除しているのだろう
600デフォルトの名無しさん
2020/01/12(日) 10:30:24.93ID:Cuf7XVQy601デフォルトの名無しさん
2020/01/12(日) 16:28:53.41ID:Svv4a/Ag お題: バイナリ―サーチを実装せよ(自分の記憶だけで書かなければならない)
602デフォルトの名無しさん
2020/01/12(日) 16:52:57.01ID:qRMFtMw7603デフォルトの名無しさん
2020/01/12(日) 17:33:54.06ID:kqg5PnqA >>601 Ruby
def bs(ary, &cond)
return ary[0] && cond.call(ary[0]) ? ary[0] : ary[1] && cond.call(ary[1]) ? ary[1] : nil if ary.size < 3
mid = ary.size / 2
bs(ary[cond.call(ary[mid]) ? 0..mid : mid + 1..-1], &cond)
end
p bs([1,3,5,7,9]){|i| i > 0} # => 1
p bs([1,3,5,7,9]){|i| i > 3} # => 5
p bs([1,3,5,7,9]){|i| i > 9} # => nil
def bs(ary, &cond)
return ary[0] && cond.call(ary[0]) ? ary[0] : ary[1] && cond.call(ary[1]) ? ary[1] : nil if ary.size < 3
mid = ary.size / 2
bs(ary[cond.call(ary[mid]) ? 0..mid : mid + 1..-1], &cond)
end
p bs([1,3,5,7,9]){|i| i > 0} # => 1
p bs([1,3,5,7,9]){|i| i > 3} # => 5
p bs([1,3,5,7,9]){|i| i > 9} # => nil
>>601
C++
https://mevius.5ch.net/test/read.cgi/tech/1434079972/33
std::set<int> の再実装にて、内部にバイナリーサーチを含んでいます
C++
https://mevius.5ch.net/test/read.cgi/tech/1434079972/33
std::set<int> の再実装にて、内部にバイナリーサーチを含んでいます
>>601
>(自分の記憶だけで書かなければならない)
これは重要かつ役に立つ訓練のしかたですね、この前は pthread の mutex と cond が理解できているかどうかを、この縛りのもとにコードを書いて試みました
>(自分の記憶だけで書かなければならない)
これは重要かつ役に立つ訓練のしかたですね、この前は pthread の mutex と cond が理解できているかどうかを、この縛りのもとにコードを書いて試みました
606デフォルトの名無しさん
2020/01/12(日) 18:20:53.87ID:Xff8C4Cf >(自分の記憶だけで書かなければならない)
お題は全てそういうものだと思ってたが
みんなカンニングして回答してるの?
お題は全てそういうものだと思ってたが
みんなカンニングして回答してるの?
607デフォルトの名無しさん
2020/01/12(日) 19:59:45.88ID:qRMFtMw7 お題1
10ビットの乱数を10個作成して
2進数に変換して出力してください
10ビットに満たない数は0埋めしてください
例)
1101101110
1000100011
0100111001
1110000001
1001001100
0010001111
1111001000
1010110111
1100001001
0100110111
お題2
縦方向、または、横方向に1が連続しているところを調べて
最も1が連続しているところの1の数を出力してください
ビット数や乱数の数が増えてもちょっぱやで処理できるとなお良いです
10ビットの乱数を10個作成して
2進数に変換して出力してください
10ビットに満たない数は0埋めしてください
例)
1101101110
1000100011
0100111001
1110000001
1001001100
0010001111
1111001000
1010110111
1100001001
0100110111
お題2
縦方向、または、横方向に1が連続しているところを調べて
最も1が連続しているところの1の数を出力してください
ビット数や乱数の数が増えてもちょっぱやで処理できるとなお良いです
608デフォルトの名無しさん
2020/01/12(日) 20:38:11.83ID:xWFTg64o >>600
正解。あなたには簡単すぎただろうが。
Rで書いた解答例はPCでは2秒台で実行できたのに、ideoneでは制限時間5秒以内に
終わらなかったので、C++で書いた方を貼る。https://ideone.com/DFDdtr
>>600とほぼ同じだが、掛け算が減る分だけ速いな。
正解。あなたには簡単すぎただろうが。
Rで書いた解答例はPCでは2秒台で実行できたのに、ideoneでは制限時間5秒以内に
終わらなかったので、C++で書いた方を貼る。https://ideone.com/DFDdtr
>>600とほぼ同じだが、掛け算が減る分だけ速いな。
609デフォルトの名無しさん
2020/01/12(日) 21:27:08.47ID:xWFTg64o610デフォルトの名無しさん
2020/01/12(日) 21:44:57.86ID:qRMFtMw7 >>609
ありがとうございます、そして申し訳ないです
11
11
こうなってたら4と出力してほしくて
連続じゃないですね、隣接といえばよかったかもしれません
縦方向、横方向に1が隣接してる領域のうち最大の領域の1の数を出力して欲しいのです
ありがとうございます、そして申し訳ないです
11
11
こうなってたら4と出力してほしくて
連続じゃないですね、隣接といえばよかったかもしれません
縦方向、横方向に1が隣接してる領域のうち最大の領域の1の数を出力して欲しいのです
611デフォルトの名無しさん
2020/01/12(日) 21:45:02.91ID:xWFTg64o612デフォルトの名無しさん
2020/01/12(日) 21:48:51.97ID:qRMFtMw7 すみません・・・平にご容赦いただきたく
613デフォルトの名無しさん
2020/01/12(日) 21:48:57.49ID:xWFTg64o■ このスレッドは過去ログ倉庫に格納されています
ニュース
- 中国・ロシア両軍の爆撃機が東京方面へ向かう「異例のルート」を共同飛行…核も搭載可能、連携して威嚇か [ぐれ★]
- 高市首相の答弁書に「台湾有事答えない」と明記 存立危機発言当時 ★8 [蚤の市★]
- 「中国人の訪日熱は冷めた」 人気旅行先から日本外れる 14日で自粛呼びかけ1カ月 ★3 [蚤の市★]
- 京都のホテル大幅値下げ 訪日中国人客、年1000万人目前で急ブレーキ [蚤の市★]
- 【福岡】「50歳くらいの男性が倒れている」血を吐いた状態で歩道に倒れている女性見つかる 女性はその後死亡 事件と事故の両面で捜査 [ぐれ★]
- 「1800万円の売り上げゼロに…」中国インバウンドに特化の宿の今 ★3 [蚤の市★]
- 僕は反出生主義で安楽死合法化支持、そして人間の自由意志を否定してます ←どんな人物像?
- 【悲報】高齢者、マルチコピー機で自分の逮捕状を印刷してしまう [394133584]
- 女児(6)「大きくなったら素敵なお嫁さんになるー!」→女(24)「旦那様のチンポジュル!ジュルルル!グッポグッポ!」 [762037879]
- 【悲報】ゆたぼん、事故の治療費をネットで乞食して整形代に使ってる疑惑浮上wwwwwww
- 【高市リスク】京都のホテル大幅値下げ [115996789]
- 東京「女性の人権守ろう 子どもの人権守ろう 高齢者の人権守ろう」⇦成人男性ガン無視でワロタwwwwwwwwwww
