[過去ログ] プログラミングのお題スレ Part20 (1002レス)
1-

このスレッドは過去ログ倉庫に格納されています。
次スレ検索 歴削→次スレ 栞削→次スレ 過去ログメニュー
803
(2): 2022/10/09(日)17:49 ID:tsulmG4c(1) AAS
お題: あみだ 画像リンク[png]:imgur.com
画像のようなマス目の上に直線を引いたあみだを次のように表現することにします。
N: 縦線の本数(列数)
M: 橋が架けられている行数
B: M行N-1列の二次元配列で、橋が架けられていたら1、そうでない場合は0が格納されています。
あらかじめ、あみだの入力には左から0〜N-1までの整数が割り振られていることにします。また、同じ行に橋が二つ連続で隣り合うことは禁止されています。
一応の制約: 2 <= N <= 100, 1 <= M <= 100
あみだに橋が1つも存在しない場合、M=1となり、Bは1行N-1列の大きさで、すべての要素が0の2次元配列になることにします。

お題1: N, M, Bが与えられるので、あみだの出力を求めてください。(入出力のフォーマットは各自で適宜変更してもいいです。)
入力例(画像のもの):
省18
804: 2022/10/10(月)00:03 ID:Em47unOv(1) AAS
reduced expressionのまとめられる積を出来るだけまとめたものが必ず最短になるなら簡単なんだけどな
805: 2022/10/10(月)12:25 ID:CId/Nblu(1) AAS
Gapとか使えばいいんじゃね
806: 2022/10/10(月)15:00 ID:AiOpkeUk(1) AAS
reduced expression の長さ自体の計算は簡単だけどこの問題は"reduced expressionの長さを求めよ"ではないからそこまで数学的に単純じゃないよ
807: 2022/10/10(月)20:53 ID:uiS3Rjx/(1) AAS
>>803
お題1
外部リンク:paiza.io

お題2
外部リンク:paiza.io

お題1とお題2でそれぞれ入力と出力をあわせるようにした
Mをできるだけ小さくって難しいな
これでいいのかわからん
808: 2022/10/10(月)21:09 ID:TC3V9vEZ(1/2) AAS
アルゴリズムが存在するのは明らかだしひとつ答え見つけるアルゴリズムも簡単
でもreduced expression見つけるアルゴリズムと同程度のアルゴリズムとなると途端に難しくなる

reduced expressionの場合には置換σのreduced expressionを見つけるには
(1) σ = idであるか否か判定する、σ=idなら空列を返して終了
(2) そうでない場合σ(i) > σ(i+1)であるiを見つける、見つけたiに対してτ=σ(i i+1)とおいてτほreduced expression sを求める
(3)
809: 2022/10/10(月)21:16 ID:TC3V9vEZ(2/2) AAS
(3) s ( i i+1 )を返して終了
でもとまる
ここでミソはreduced expressionの1番右は( i i+1 )と決め打ち出来ること、コレがあるから多項式時間で終わる
しかしアミダの場合1番右の初手をそんなに簡単に決定出来るかが分からん
初手の可能性は転置全部の可換な集合のうち極大であるもの全体のいずれかに最短が入る事は簡単に示せるけど、そのような極大な可換集合をどれとっても必ずうまくいくことの証明がむずかしい
多分出来るんだとは思うけど正直数学板で話題にするような話でプロ板で出すような問題じゃない気がする
810: 441 2022/10/11(火)10:43 ID:Q+yx5xdI(1) AAS
>>803
最近やっとpythonを学び始めたレベルだから合ってるかわからん
コメントとかもちゃんと書いたほうがいいのだろうか
暇な人添削してくれると嬉しい

お題1
外部リンク:ideone.com
お題2
外部リンク:ideone.com
811: 2022/10/11(火)12:04 ID:xv8Y5zzF(1) AAS
しゃぶれよ
812: 96 2022/10/13(木)07:01 ID:JNehkz2R(1) AAS
>>773
自分でやれ
813: 2022/10/22(土)02:49 ID:ql0xnxKt(1) AAS
やってるやん
814
(8): 2022/10/24(月)10:24 ID:sCRx2Xsd(1) AAS
お題
プリンタAは1分間に1ページ印刷できます
プリンタBは3分間に1ページ印刷できます
プリンタCは5分間に1ページ印刷できます

プリンタを3台同時に動かして100ページを印刷します
100ページを印刷し終わるのに何分掛かるか求めてください
815
(1): 2022/10/24(月)12:38 ID:PxuF7JuF(1) AAS
>>814
perl5
外部リンク:paiza.io
816: 2022/10/24(月)13:32 ID:LLDppSf/(1) AAS
>>815
バグってるぞ
65分だと99枚しか印刷されない
817
(1): 2022/10/24(月)14:17 ID:l9s5dDsa(1) AAS
>>814 cmd
set /a "p=100, n=15*p/23+!!(15*p%23)"
818: 2022/10/24(月)15:31 ID:FSEywfH4(1) AAS
haskell

pages n = sum $ map ( div n ) [ 1,3,5 ]
main = print $ head [ n | n <- [1..], pages n >= 100 ]
819: 2022/10/24(月)20:20 ID:112hix5y(1) AAS
>>814
aow = 100
power = (1 + 1r/3 + 1r/5)
printf(aow / power) // => 65.21739130434783
820
(1): 2022/10/24(月)22:40 ID:SGYFZ2pJ(1) AAS
>>814 octave
外部リンク:ideone.com
f = @(n) ceil(n * 15 / 23);
821: 2022/10/25(火)01:46 ID:m3snEfri(1) AAS
>>814
Kotlin

何も考えずただカウントして求めるように書いた。

外部リンク:paiza.io
822: 2022/10/25(火)06:54 ID:LZqPXT/2(1) AAS
>>817,820
逆算はページ数によってはダメ
例えば3ページの時、3分4ページが正解だけど
(B=2/3)+(C=2/5) で1繰り上がって2分が出て来る
823: 2022/10/25(火)07:50 ID:V4E25MPr(1) AAS
A, B, Cでそれぞれ45/23, 15/23, 9/23ページ印刷すれば45/23分で3ページ印刷し終わるよ
824: 2022/10/25(火)08:18 ID:5cB2OctB(1) AAS
100ページだからセーフ
825: 2022/10/25(火)13:35 ID:xp4U3IJL(1) AAS
>>814
JavaScript
外部リンク:paiza.io
826: 2022/10/25(火)20:38 ID:Er29dtqL(1) AAS
甘えんな
印刷周期を一定と仮定した上で解として取りうる離散値のどれになるかを小数単位で求めるプログラムも書こうよ
827: 2022/10/25(火)21:08 ID:idE58GAF(1) AAS
すまん、1分に3枚じゃなくて3分に1枚かorz
828: 2022/10/25(火)22:03 ID:b0dw4lqu(1/2) AAS
>>814
Java
外部リンク:paiza.io
829
(1): 2022/10/25(火)22:28 ID:F6XUw+z/(1) AAS
じゃあ1分に1枚、3枚、5枚のプリンターでの印刷というお題も出すか。
830: 2022/10/25(火)22:38 ID:d0t/LHiA(1) AAS
>>814 octave
外部リンク:ideone.com
function m = f(n, m)
if nargin == 1
m = f(n, 0);
elseif sum(idivide(m, [1 3 5])) < n
m = f(n, m + 1);
end
end

>>814 ocaml
省5
831: 2022/10/25(火)23:47 ID:b0dw4lqu(2/2) AAS
>>829
Java

public static void main(String[] args)
{
 var pages = 100;
 var s = IntStream.of(1, 3, 5).sum();
 System.out.println((pages + s - 1) / s);
}
832
(3): 2022/10/26(水)13:26 ID:FciA0hc1(1/2) AAS
お題
オークA「ぐっふっふ…… 俺は媚薬を盛ってないぜ……」
オークB「ぐふっ…… 媚薬を盛ったやつはAかCのどちらかだぜ…」
オークC「オークBかDは嘘をついているぜ…ぐっふっふっふっ……」
オークD「ぐふふ…媚薬を盛った奴はB,Eの中にはいないぜ……ぐひっ…」
オークE「げひひっ……媚薬を盛ったやつは本当の事を言っているぞ…」
オーク達「ちなみに、お前に媚薬を盛ったのはこの中の一匹で、俺たちの中で一匹が嘘をついているぞ……」
女騎士「くうぅ…誰が嘘をついて誰が私に媚薬を盛ったんだ……!」
オーク達「ぐっふっふ……」

論理演算を用いて答えを求めてください
833: 2022/10/26(水)13:33 ID:FciA0hc1(2/2) AAS
オークCとオークEがめんどくさいな
834: 2022/10/26(水)15:30 ID:DM8ZU7Du(1) AAS
全てが媚薬を盛って全員が嘘をついている

これで全員の発言と矛盾がないと思う
835: 2022/10/26(水)16:28 ID:xzd5i3vP(1) AAS
さすがに
> オーク達「ちなみに、お前に媚薬を盛ったのはこの中の一匹で、俺たちの中で一匹が嘘をついているぞ……」
は正しいと仮定しないとなんでもありありになっちゃうだろ
836
(1): 2022/10/26(水)18:06 ID:VWCwwszG(1) AAS
さすがに
> オーク達「ちなみに、お前に媚薬を盛ったのはこの中の一匹で、俺たちの中で一匹が嘘をついているぞ……」

コレウソついてるのは一匹“だけ”つて意味だよね?
“少なくとも一匹はウソついてる”
じゃないよね?
837: 2022/10/26(水)18:20 ID:S3XzLK/s(1) AAS
このタイプの論理問題ってよく見かけるな
初出ってどこなんだろうな
838: 2022/10/26(水)19:23 ID:gD5qQ1ZG(1) AAS
>>836
> “少なくとも一匹はウソついてる”
だと、全員嘘つきでもいいからなんでもありになっちゃう気がする
839: 2022/10/26(水)20:30 ID:dmTYCGjA(1) AAS
>>832
Haskell
まだ自信なし

外部リンク:ideone.com
840: 2022/10/26(水)21:23 ID:OrdcPqRc(1) AAS
オーク達「」が真であることは、
この世界の神である出題者が保証してるわけだな?
841: 2022/10/26(水)21:38 ID:Bjop1AC4(1) AAS
出題者が嘘をついていて、オークがそのような発言をしていない可能性もある
842: 2022/10/27(木)01:22 ID:s7i1htqL(1) AAS
>>832
Haskell

一ヶ所間違ってたので訂正
あとウソつきはちょうど1人という条件つけたら解一個になった

外部リンク:ideone.com
843: 2022/10/27(木)09:19 ID:Uf+5HE/G(1) AAS
Haskell

ウソつき1人としてループを5×5に
5人しかいないので大して変わらないけど

外部リンク:ideone.com
844: 2022/10/27(木)14:26 ID:QRorZadJ(1) AAS
>>832
Java
外部リンク:paiza.io
845
(1): 2022/10/29(土)19:11 ID:O3TXZpYa(1/2) AAS
お題
Kの倍数の桁の和
自然数nに対してf(n)をnの10進表示の各桁の和とします
(例 f(1024) = 1+2+4 = 7)
自然数kに対してg(k)を
g(k) = { f(n) | nはkの倍数である自然数 }
とします
入力kに対してg(k)を出力するコードを書いて下さい
846: 2022/10/29(土)19:33 ID:uuZ1gbyy(1) AAS
>>845
g(k)って必ずしも有限集合にならなくない?
847: 2022/10/29(土)19:39 ID:O3TXZpYa(2/2) AAS
>>946
orz
訂正
g(k) = min{ f(n) | nはkの倍数である自然数 }
848
(2): 2022/10/30(日)00:28 ID:BQOGiCuF(1) AAS
お題
プレーヤーの前に閉じた3つのドアがあります
1つのドアの後ろには景品の新車があります
2つのドアの後ろにははずれを意味するヤギがいます
プレーヤーは新車のドアを当てると新車がもらえます
プレーヤーが1つのドアを選択したあとに司会のモンティが残りのドアのうちヤギがいるドアを開けてヤギを見せます
ここでプレーヤーは「最初に選んだドアを残っている開けられていないドアに変更してもよい」と言われます
ここでプレーヤーはドアを変更すべきだろうか?

乱数を使ったシミュレーションで答えを求めてください
849: 2022/10/30(日)03:55 ID:KHak5nKt(1/2) AAS
>>848
モンティ・ホール問題だな。

Kotlin
外部リンク:paiza.io
850
(1): 2022/10/30(日)08:09 ID:oF72FRjI(1) AAS
ドアを変更するかどうかのところはランダムにする必要無くない?
二択なので一方に決めていれば残りが逆側の確率
851: 2022/10/30(日)10:05 ID:Rpnmj8SE(1) AAS
まぁ
交換戦略「必ず交換する」
非交換戦略「決して交換しない」
確率交換戦略「ある分布に従って確率的に交換するかしないか決める」
で答えが変わる事を確認せよだからな
ある意味最初2つの戦略も最後の戦略の特別な場合
852: 2022/10/30(日)11:47 ID:0KuBg4yb(1) AAS
お題N x Nのルービックキューブのパターン数を求めよ
853: 2022/10/30(日)18:39 ID:KHak5nKt(2/2) AAS
>>850
なるほど。
854: 2022/10/30(日)18:54 ID:Sqe0pI7B(1) AAS
モンティ・ホール問題のシミュレートのように見えて実はちょっと違う
モンキーホール問題だったのだ
855: 2022/10/30(日)20:02 ID:4vBwn6CZ(1) AAS
>>848 octave
外部リンク:ideone.com
856: 2022/10/31(月)00:39 ID:MKojko7I(1) AAS
お題 ジュールトムソン効果っぽいものをシミュレーションで再現せよ
857
(8): 2022/11/04(金)07:13 ID:jLlmakBU(1) AAS
お題:1~10までの合計を求めよ
*ただしライブラリ、ループ文を使わないこと
858: 2022/11/04(金)07:18 ID:yh54R4RT(1) AAS
>>857 PHP
55
859: 2022/11/04(金)08:24 ID:TDQ1gw2t(1) AAS
(1+10)*5
860: 2022/11/04(金)12:00 ID:ryvUUS8Q(1) AAS
>>857 cmd
set /a "A=1, B=10, (B-A+1)/2*(A+B)+(B-A+1)%2*(A+B)/2" &rem A≦B
861
(1): 2022/11/04(金)15:50 ID:q0UsXtCi(1/4) AAS
1+2+3+4+5+6+7+8+9+10
862: 2022/11/04(金)15:52 ID:TBUnPbqZ(1) AAS
>>857
$ dc -e'1 10+5*p'
55
$
863
(5): 2022/11/04(金)16:28 ID:q0UsXtCi(2/4) AAS
整数とは書いてないな
三角数とか実数とか何か別のものを想定してるかもしれない
864: 2022/11/04(金)16:32 ID:q0UsXtCi(3/4) AAS
高級言語なら大抵暗黙のうちにライブラリは使ってるだろうし内部的にループも使ってるかもしれない

ループの定義も問題になるかと
gotoは?再帰は?列挙は?...
865: 2022/11/04(金)16:36 ID:BHFqhq9y(1) AAS
>>863
その場合は
> 1~10までの合計
の定義を書かないとね
866
(1): 2022/11/04(金)16:55 ID:q0UsXtCi(4/4) AAS
「その場合」に限定する理由は無いよね?
867: 2022/11/04(金)17:35 ID:u3TD418O(1/4) AAS
>>866
整数なら
> 1~10までの合計
についてほぼ合意できる定義があると思うけど?
868: 2022/11/04(金)18:32 ID:iggZ7AM6(1/3) AAS
そう思ってない人もいる
869: 2022/11/04(金)18:59 ID:u3TD418O(2/4) AAS
思ってない人は具体的にどう言う定義があるのか書けばいいんじゃね?
870: 2022/11/04(金)19:06 ID:iggZ7AM6(2/3) AAS
ちょっと前のレスくらい読め
871: 2022/11/04(金)19:18 ID:u3TD418O(3/4) AAS
ん?
ならなにを言いたいのかわからんわ
872: 2022/11/04(金)19:20 ID:iggZ7AM6(3/3) AAS
わからないなら無理に書き込まなくていいよ
873: 2022/11/04(金)19:54 ID:u3TD418O(4/4) AAS
ごめん、説明できないならいいや
874: 2022/11/05(土)14:37 ID:wb4h3pkZ(1) AAS
>>857 octave
外部リンク:ideone.com
f = @(a, b) (a + b) * (b - a + 1) / 2;
875: 2022/11/05(土)22:37 ID:ik3uUvNv(1) AAS
>>857
Java
外部リンク:paiza.io
876: 2022/11/05(土)23:35 ID:WGyFluMA(1) AAS
10*11/2
877: 2022/11/06(日)03:33 ID:V4pkDxVq(1) AAS
>>857
Kotlin

外部リンク:paiza.io

ループ文は使わず再帰でなんとかした。

(1..10).sum() や (1..10).reduce { a, n -> a + n } でも結果は出るが sum() や reduce() がライブラリにある拡張関数なので没。
10 * 11 / 2 とか 55 を直接出すのはプログラム作る意味がほとんどないような感じがするので止めた。
878: 2022/11/06(日)04:47 ID:p1AlQ8ne(1/2) AAS
お題が、正方形や三角形の面積を求めるのと
同程度に簡単な式だしなあ
879: 2022/11/06(日)08:11 ID:l6ScHNeb(1) AAS
Haskell
sum [1..10]
880: 2022/11/06(日)08:35 ID:5UCgIOa9(1/2) AAS
>>861で終了じゃん
最適化して55でも良いけど

中途半端に和の公式使ってるヤツってアホなの?
881: 2022/11/06(日)09:08 ID:aYMPlSSq(1/3) AAS
一垓にそうは言えないのでは
ループを使わないの意味が多くの数でもすぐ答えがでそうな処理を見たいのかもしれない
882: 2022/11/06(日)09:25 ID:p1AlQ8ne(2/2) AAS
掛け算割り算だと中途半端でアホで
足し算だと利口だとおっしゃる
883: 2022/11/06(日)09:33 ID:5UCgIOa9(2/2) AAS
和の公式を使うくらいなら55の方が良い
って話

なんで中途半端な最適化をするの?
884: 2022/11/06(日)09:38 ID:gK09y9Q8(1) AAS
1^n + 2^n +・・・+(10^25)^n
n=10、 n=-17
の手段選ばすとかは?
25条はぎりふつうループでは困難かとおもえる数値を適当にいまおもいついた
885: 2022/11/06(日)10:54 ID:Zb5xxfES(1/5) AAS
= 10+(9+1)+(8+2)+(7+3)+(4+6)+5
= 10+10+ 10+ 10+ 10+ 5
= 10 + (10 * ((10/2)-1))+5
= (10 * ((10/2)-1))+10+5
= x(0.5x-1)+1.5x
886: 2022/11/06(日)12:06 ID:5iQhHwnm(1) AAS
こうどなじょうほうせん を愉しむための問題でしょ
887: 2022/11/06(日)15:29 ID:RIYDMAGE(1/2) AAS
と思って>>863を書いたんだけど
888: 2022/11/06(日)15:33 ID:RIYDMAGE(2/2) AAS
1~10の合計
1から10までの合計
じゃなくて
1~10までの合計
っていうのも気になった
889
(1): 2022/11/06(日)17:04 ID:PNCv3I6p(1/13) AAS
1~10までの実数の合計って言ってる奴は有限の値に収束するとでも思っているか
890
(3): 2022/11/06(日)18:24 ID:S6zCBHE1(1) AAS
するだろ
画像リンク[jpg]:i.imgur.com
891: 2022/11/06(日)18:35 ID:mzFwuoQr(1/3) AAS
>>890
合計にはdx関係ないぞ...
892
(2): 2022/11/06(日)18:37 ID:PNCv3I6p(2/13) AAS
低レベルすぎて草
1以上10以下の実数全体の集合をAとすると
#A = ?_1 ゆえに Σ_{λ∈A}λ は有限の値を取らない
893: 2022/11/06(日)18:38 ID:PNCv3I6p(3/13) AAS
文字化けしたか
「#A = 連続体濃度」
894: 2022/11/06(日)18:48 ID:qhQ571Br(1) AAS
なんか足すと一見無限になりそうだけど
ある区間a<bの間にa<c<bとなるcが取れなくなることはありえないよね?
895
(2): 2022/11/06(日)19:07 ID:9PA1hevU(1/24) AAS
>>889
和が存在しないとうならそれが答え
3を含むが3.5を含まないという説得力のある説明が出来るならよろしく
896: 2022/11/06(日)19:12 ID:PNCv3I6p(4/13) AAS
>>895
和が発散する説明はすでにしてあるんだが何を言いたいの
897: 2022/11/06(日)19:14 ID:9PA1hevU(2/24) AAS
Q:和を求めよ
A:和は存在しない
898: 2022/11/06(日)19:15 ID:9PA1hevU(3/24) AAS
発散とか収束とか
意味をわかって使わないと恥ずかしいぞ
899
(1): 2022/11/06(日)19:17 ID:PNCv3I6p(5/13) AAS
>>895みたいなこと言う奴が解析の基礎すら理解できてるとすら思えないが
900: 2022/11/06(日)19:17 ID:9PA1hevU(4/24) AAS
>>892が最高に恥ずかしい
901: 2022/11/06(日)19:19 ID:9PA1hevU(5/24) AAS
>>899
最高に笑える書き込みありがとう
902: 2022/11/06(日)19:19 ID:PNCv3I6p(6/13) AAS
数学的に具体的な反論が一切ないじゃん
バカなの
1-
あと 100 レスあります
スレ情報 赤レス抽出 画像レス抽出 歴の未読スレ AAサムネイル

ぬこの手 ぬこTOP 0.028s