プログラミングのお題スレ Part22 (863レス)
前次1-
抽出解除 レス栞

リロード規制です。10分ほどで解除するので、他のブラウザへ避難してください。
12: デフォルトの名無しさん [] 2023/08/07(月)19:28:19.42 ID:dolrRGoi(2/2)
>>11
言われてみればRustに見えるな。
Rustは趣味で学習始めたばかりでよく分からなかった。
55
(1): 蟻人間 ◆T6xkBnTXz7B0 [sage] 2023/08/20(日)21:28:53.42 ID:KEiNPJgB(1)
お題: お風呂の準備。

容積225Lの浴槽に適温39度のお湯200Lを用意したい。
次の2つのスイッチのON/OFFを切り替えてお湯を用意するプログラムを作れ。

スイッチ1: これをONにすると浴槽に水温20度の水を分速10Lで投入する。
スイッチ2: これをONにすると浴槽の水を800ワットの電熱線で加熱する。

ただし、浴槽に容積の1/2以上の水またはお湯が入っていないときは、空焚き防止のため、加熱しないものとする。
放熱は考慮しなくてもよい。

出力例)
時刻??: スイッチ1をONにしました。
時刻??: スイッチ2をONにしました。
時刻??: お風呂ができました。
時刻??: スイッチ1をOFFにしました。
時刻??: スイッチ2をOFFにしました。
58
(1): デフォルトの名無しさん [sage] 2023/08/21(月)05:17:48.42 ID:9NybdpKD(1)
>>56
200年分のデータを配列を貯め込む>>51の方法よりも
そのようなメモリ消費を必要としないイテレータを作る案は好ましい方法ですね

しかし-100や+100は今回たまたまのマジックナンバーに過ぎないですし
例えばお題が「指定した年とその後(またはそれ以前に)同じカレンダーになる年を100個求めよ」もありえます

したがって作成しておくべき汎用イテレータは指定した年から順方向に返すイテレータと逆方向に返すイテレータでしょう
それがあれば今回のお題を含めた様々なバリエーションのお題に対応できると思います
71
(3): デフォルトの名無しさん [sage] 2023/08/26(土)20:03:48.42 ID:LJcWLtrE(1)
文字列Sの中に含まれる回文をすべて列挙ってどうやったらいいですかね(*_*)
aとかbみたいな一文字でも回文とみなしますです
文字列Sは1文字以上100文字以下で、半角英字であることがわかってます

とんでもない計算量になる気がするのですが、鮮やかなやりかたってないものかと…トホ(ヽ´ω`)
112: デフォルトの名無しさん [sage] 2023/09/30(土)18:00:29.42 ID:oqu6hf3+(1)
>>111 node

const swap = (text, [w1, w2]) => text.split(w1).map(v => v.replaceAll(w2, w1)).join(w2)

const swapAll = (text, rules) => rules.reduce(swap, text)

const text = '緑のカバンに500万入れて白の紙で黄色のカバン言うて書きながら赤のカバン言いながら置いてくれたら俺黒のカバン言いながら取りに行くわ'

const rules = [['赤', '緑'], ['黒', '白'], ['黄', '青']]

const replaced = swapAll(text, rules)
// console.log(replaced)
console.log(replaced === '赤のカバンに500万入れて黒の紙で青色のカバン言うて書きながら緑のカバン言いながら置いてくれたら俺白のカバン言いながら取りに行くわ')
// true
291
(1): 288 [sage] 2024/02/27(火)21:45:30.42 ID:nu8aoj+0(1)
>>282 c
https://ideone.com/eM18H1
・288の移植
307: デフォルトの名無しさん [] 2024/03/10(日)11:20:30.42 ID:Doj9A/yB(1)
>>306
すごすぎるだろ、日本の未来を頼む
354: デフォルトの名無しさん [sage] 2024/06/03(月)13:25:02.42 ID:21u+58W3(1)
>>348
Windows のPowershell 上で、Ruby の1-liner を使う

末尾の改行を削除して、: で分割して、
文字列を数値型に変換してから、全ての要素を掛ける。
%Q で、ダブルクォーテーションをエスケープする。つまり、split(":")

echo '01:2:09' | ruby -ne 'puts $_.chomp.split(%Q[:]).map(&:to_i).inject(:*)'

18
355: デフォルトの名無しさん [sage] 2024/06/03(月)15:28:01.42 ID:p+D7Hh++(1)
>ruby -ne 'p eval($_.gsub(":","*"))'
1:2:9
18
388: デフォルトの名無しさん [sage] 2024/08/03(土)22:08:55.42 ID:/AInVOhB(1/2)
>>386
出直し
448: デフォルトの名無しさん [sage] 2024/11/13(水)22:22:31.42 ID:nRkxNwtG(2/2)
>>435
Wolfram

f[N_] :=(
u=1000;
m=5000;
Until[u<=0 || m<=0, m-=Total@RandomChoice[Range[6],N];u-=Total@RandomChoice[Range[6],1]];
Boole[u >= m]
)
Table[Mean@Table[f[x],10^3],{x,1,10}] // N

{0., 0., 0., 0., 0.511, 1., 1., 1., 1., 1.}
466: デフォルトの名無しさん [] 01/03(金)15:30:14.42 ID:aGLRGnDr(1/3)
>>464 lisp
https://ideone.com/hHjwKz
504: デフォルトの名無しさん [sage] 01/27(月)21:24:28.42 ID:LHxZVLOG(1)
>>500 octave
https://ideone.com/eLcVPC
function s = f(s)
[~, ia] = unique(s);
s(ia) = [];
if 1 < length(s)
[~, ia] = unique(s, 'first');
s = s(sort(ia));
end
end

>>500 ruby
https://try.ruby-lang.org/playground/#code=f+%3D+-%3Es+%7Bs.chars.tally.select+%7B1+%3C+_2%7D.keys.join%7D%0Ass+%3D+%3C%3CEOS.lines(chomp%3A+true)%0AT%0ACG%0AATA%0ACGGA%0AATGAT%0AGTTGCA%0ACCCCGGG%0AACTGCGAG%0AATCAGAATA%0ATGCCATGACA%0AEOS%0Aputs+ss.map+%7B%7Cs%7C+%22%23%7Bs%7D+-%3E+%23%7Bf.(s)%7D%22%7D&engine=cruby-3.3.0
https://ideone.com/9E5Z9a
f = ->s {s.chars.tally.select {1 < _2}.keys.join}
611
(1): デフォルトの名無しさん [sage] 02/15(土)00:28:45.42 ID:/PgyVRU9(1)
>>606
正規表現みたい非人間的な書式はやめようぜっての
811
(1): 806 [sage] 08/21(木)22:19:54.42 ID:fAlkh9Aq(1)
>>799 ruby
https://ideone.com/3TW9Vr
・問題A時に若干端折る
前次1-
スレ情報 赤レス抽出 画像レス抽出 歴の未読スレ AAサムネイル

ぬこの手 ぬこTOP 0.039s