プログラミングのお題スレ Part22 (884レス)
上下前次1-新
507: 2025/01/29(水)01:00 ID:4mvV5Tkg(1) AAS
>>500 c++
外部リンク:ideone.com
508: 2025/01/29(水)01:49 ID:PQfpjql4(1) AAS
>>500
REM 重複チェック.bat
ruby -x "%~f0"
exit
#~
#!ruby
while 1
print "> "
a=$stdin.gets.chomp.split("")
exit if a==[]
省2
509: 2025/01/29(水)21:56 ID:GDFS0NvX(1) AAS
>>500 java
外部リンク:ideone.com
510(21): 2025/01/30(木)21:27 ID:te1+SH0T(1) AAS
お題
ソース文字列と検索文字列が入力されます
検索文字列の文字をすべて含むソース文字列の部分文字列のうち
一番短い部分文字列を出力してください
DHBICEJAFG EIC → ICE
FDGJHCBIEA EIC → CBIE
FBHDCIJGEA EIC → CIJGE
JDIBGHCEAF EIC → IBGHCE
JBCIAGDHEF EIC → CIAGDHE
EJFBCAGIHD EIC → EJFBCAGI
省2
511: 506 2025/01/30(木)21:43 ID:ID2xuR+0(1) AAS
>>500 c
外部リンク:ideone.com
・unsigned int m[128] = {0};を使って集計
512: 2025/01/30(木)22:47 ID:3iB+73MI(1) AAS
高速文字列解析の世界に似た問題のアルゴリズム(ウェーブレット木)が沢山ありました
513: 2025/01/31(金)00:36 ID:MBodgIXJ(1) AAS
>>510 ruby
外部リンク:ideone.com
514(2): 2025/01/31(金)13:46 ID:+tPQNmsr(1) AAS
このスレでいいのかわからんのだけど
Rust勉強中なんだがメモリ安全性の恩恵を受けやすいなんかしらかのプログラムを書こうと思ってるんだがなにかいいお題はあるか?
言語処理系は大体作ってるのでそれ以外で頼む
515: 2025/01/31(金)15:33 ID:b4vq2KMj(1) AAS
う~んこの嫌われムーブはあのおじさんか
このスレでは自重して欲しいな
516(2): 2025/01/31(金)16:14 ID:fZW/Grtl(1) AAS
>>514 へのお題
次の操作ができる循環リンクリストを作成してください
・空のリストへの挿入
・冒頭の挿入
・最後に挿入
・指定された位置への挿入
・最初のノードを削除する
・最後のノードを削除する
・任意の位置からノードを削除する
517(1): 2025/01/31(金)21:55 ID:mLWOFznj(1/2) AAS
>>514
Rustはメモリのデータ競合もデータ参照競合も全てコンパイルエラーにしてくれるから間違えようがないね
他の普通の言語だと実行して問題発生に気付いて調査して頑張ってようやく競合が原因だと判明して間違えていたことがわかるから開発効率の悪さとして差が現れるけど
Rustは実行前にその種のミスのデバッグまで全て終えてしまう感じ
518(1): 2025/01/31(金)22:10 ID:4ClqIqkw(1) AAS
普通は問題発生前に気がつく
519(1): 2025/01/31(金)22:17 ID:bHXxdIdo(1) AAS
>>510 c
外部リンク:ideone.com
520: 2025/01/31(金)22:38 ID:3jAIz2ps(1) AAS
>>518
グローバル変数を排他制御せずに使ってしまっていたりするミスなどよく見かけるような
一般的にも巨大なコードになったり複数人で共通認識なかったりで見逃しミスは必ず出てくる
そしてタイミング次第によって稀にバグが起こるパターンとか負荷が高くなって起きてバグ発覚とか
521: 2025/01/31(金)23:44 ID:mLWOFznj(2/2) AAS
全て自分で出来る気付くミスらない
って自己過信な人がセキュリティホールを招いてるからね
自動的にサポートしてくれる言語を使うのが安全で開発効率もいいよ
522: 2025/02/01(土)00:00 ID:pgp85i6o(1) AAS
ちゃんとルールを守って運転すれば
事故も起きないし、違反で捕まらない
それと同じ
523: 2025/02/01(土)00:26 ID:cvjWKAds(1) AAS
>>517
せっかくだからRustで>>516やってきなよ
524(1): 519 2025/02/01(土)17:22 ID:/Ur4AoNp(1) AAS
>>510 c
外部リンク:ideone.com
・若干の高速化
部分文字列を一文字ずつズラして検証していたのを
n = strcspnで探してn文字スキップへ
525: 2025/02/01(土)22:42 ID:1BfoGXYb(1) AAS
>>516
横からだがその仕様ならベクタをリングバッファとして使った両端キューで十分だな
多くの実用例でもこの方が速いことが知られている
use std::collections::VecDeque;
// 空のキュー
let mut deque: VecDeque<T> = VecDeque::new();
// 先頭に挿入
deque.push_front(t);
// 最後に挿入
deque.push_back(t);
省8
526: 2025/02/01(土)22:57 ID:FwGLv5NU(1/2) AAS
ズルしてどうするんよ…
527: 2025/02/01(土)23:00 ID:FwGLv5NU(2/2) AAS
Rustのメモリ安全性を確認するためにプログラム書きたいんでしょ、だったら循環リストをフルスクラッチするしかないよね
528: 2025/02/02(日)19:41 ID:NpAQnhYs(1) AAS
リンクリストならindex番目の操作(挿入or切除)は
index番目で分解して操作して合体するだけなのでこれで動くよ
use std::collections::LinkedList;
trait LinkedListExt<T> {
fn insert_at(&mut self, index: usize, value: T);
fn remove_at(&mut self, index: usize) -> Option<T>;
}
impl<T> LinkedListExt<T> for LinkedList<T> {
fn insert_at(&mut self, index: usize, value: T) {
let mut tail = self.split_off(index);
省10
529(1): 2025/02/03(月)21:15 ID:swo++26S(1) AAS
>>510
R
外部リンク:ideone.com
C++ (>>524と同じ巨大文字列での繰り返しあり)
外部リンク:ideone.com
530(1): 2025/02/03(月)22:57 ID:VF4m0iMh(1) AAS
>>510 c
外部リンク:ideone.com
・f_529 は529さんのパクり
・f_strcspn_chr は strchr してから strcspn すると単純ながら若干の速度向上
531(1): 530 2025/02/04(火)21:13 ID:k8XtEdoq(1) AAS
>>510 c
外部リンク:ideone.com
・f_529direct は出現位置集めるのやめた
*min = strchr(*min + 1, **min)) でそのまま次へ
532(1): 531 2025/02/05(水)20:39 ID:mFRiRIqM(1/2) AAS
>>510 c
外部リンク:ideone.com
・デバッグと若干の整理
533: 532 2025/02/05(水)23:28 ID:mFRiRIqM(2/2) AAS
>>510 java
外部リンク:ideone.com
534(1): 2025/02/06(木)22:16 ID:u6r6iDwj(1) AAS
>>510
C++
外部リンク:ideone.com
>>529からの変更点
・sへのtの文字の出現位置を高速取得(1バイト文字のみに対応)
・sにtの同一文字が3回以上連続して出現する場合に最初と最後以外の位置を省略
535: 2025/02/07(金)19:14 ID:UF6GKvr5(1) AAS
>>500
Wolfram Language
str = "ATGAT"
>> Out[1]= ATGAT
duplicates = str // Characters \
(* { A, T, G, A, T } *) \
// Counts \
(* <| A -> 2, T -> 2, G -> 1 |> *) \
// Select[Function[ 1 < # ]] \
(* <| A -> 2, T -> 2 |> *) \
省4
536: 2025/02/07(金)21:12 ID:n3kvQb3T(1) AAS
テス
537(3): 9 2025/02/07(金)21:20 ID:dMuAEB5V(1/4) AAS
>510 Perl5
外部リンク:ideone.com
538(2): 2025/02/07(金)22:53 ID:ovhX7KXo(1/2) AAS
>>510 c
外部リンク:ideone.com
・f_537 は537さんのパクリ
539: 9 2025/02/07(金)23:00 ID:dMuAEB5V(2/4) AAS
>>537
しくった、これ一番短い範囲ではなく間違って一番長い範囲を検出してる。
サンプルデータではたまたま同じ解になるようで、間違いを見落としてしまった。
それから、一番長い(短いにすべきだったが)範囲の検索にわざわざ候補listをsortして[0]番目を
取得しているが無駄だし規模が大きくなると効率よくない
時間あったら直しますわ〜
540(2): 9 2025/02/07(金)23:02 ID:dMuAEB5V(3/4) AAS
>>538
あーでも527の方式がいまんとこ一番早いんだな、検証thx
541: 9 2025/02/07(金)23:04 ID:dMuAEB5V(4/4) AAS
>>540 527 じゃなくて 537ね。スマソ
542: 538 2025/02/07(金)23:08 ID:ovhX7KXo(2/2) AAS
>>540
>>537さん方式は動的にメモリとらなくていいのがいいよね、清々しくていいよね
あと実行時間の値はまぁアテにはならんので参考程度にw
543: 2025/02/07(金)23:41 ID:qBbgMoXu(1) AAS
>>500
PowerShell
"T", "CG", "ATA", "CGGA", "ATGAT", "GTTGCA", "CCCCGGG", "ACTGCGAG ", "ATCAGAATA", "TGCCATGACA" |% {
"$_ → $(-join ([char[]]$_ | group -case |% {$_.name[$_.count -le 1]}))"
}
[実行結果]
T →
CG →
ATA → A
CGGA → G
省6
544(2): 9 2025/02/08(土)00:22 ID:vma3KbbM(1/2) AAS
>>510 Perl5、>>537 の修正版
外部リンク:ideone.com
修正点
・>>537では間違って一番長い範囲を検出していたが、一番短い範囲に修正した。(サンプルデータではそれらの解はたまたま一致)
・パターンが3文字であることに依存する定数「2(=3 -1 )」をハードコードしている箇所があったので、パターン文字数次第で処理するように修正
・検出した候補文字列リストのうち一番短い物の検索のためにわざわざ候補リスト全体をsortするのをやめて
reduceによって長さが一番短い文字列を検索するように修正
List::Utils は言語処理系にデフォルトで付属のコアモジュール、
List::MoreUtils はCPANのオプションノジュールだがideoneのperlにはインスコされていたので使っちゃいましたテヘペロ
なお、候補文字列リストを作らず、ループの最内ifの中で一番短い文字列だけを記録していく様に記述すれば
省2
545: 9 2025/02/08(土)00:26 ID:vma3KbbM(2/2) AAS
>>544 List::Utils → List::Util ね。スマソ
546: 2025/02/08(土)08:27 ID:7bAG/IVE(1) AAS
>>510
Wolfram Language
s = "DHBICEJAFG"
>> Out[1]= DHBICEJAFG
pattern = "EIC"
>> Out[2]= EIC
shortestMatch = \
(* 全通りの部分文字列を生成する *) \
ReplaceList[ Characters[ s ], {___, x__, ___} -> {x} ] \
(* 短い順、先頭に近い順に並べる *) \
省6
547: 9 2025/02/08(土)17:50 ID:HpUe4TZQ(1) AAS
>>510 Perl5、>>544 をもう一回だけ改良
外部リンク:ideone.com
改良点:
・検出された範囲の候補を一通りリストに蓄えて、あとでその中から最短のものを探す方式を止めて、
範囲を検索するループ内のifでその時点までの最短な範囲の判定と記録を行うようにした。
・CPANモジュールList::MoreUtilsのminmaxを使わない。
・コアモジュールList::Utilはminだけ使う。reduceは使わない。
なんだかPerlのコードらしい感じが減って、ベタな感じのコードになってしまいました
548(2): 2025/02/08(土)19:59 ID:EDI8nVtP(1/2) AAS
>>510
C++
外部リンク:ideone.com
>>534からの変更点
・minmax_elementを呼び出さずに済むようにして高速化
549(1): 2025/02/08(土)20:02 ID:EDI8nVtP(2/2) AAS
>>510
C++
外部リンク:ideone.com
>>548では検索文字列が短くて高速化されたか分かりにくかったので、長くして529, 534, 548の
実行時間を比較してみると、効果が顕著に現れた。
550: 警備員[Lv.19] 2025/02/09(日)03:18 ID:Y8d2noVo(1/2) AAS
>>485
Kotlin
外部リンク:paiza.io
551: 警備員[Lv.19] 2025/02/09(日)03:56 ID:Y8d2noVo(2/2) AAS
>>500
Kotlin
外部リンク:paiza.io
552: 2025/02/09(日)12:47 ID:uN83pfj6(1) AAS
>>510 c
外部リンク:ideone.com
・両端に着目し、両端のみを更新しつつ調べていく(が、これといってパっとせず)
・f_both_ends はあくまで元の文字列s上を調べていく
・f_both_ends_v2 は「次」「隣」にアクセスしやすくした構造の上を調べていく
・あと実行時間の値ははげしくブレブレなので参考程度にとどめておいてね
553: 2025/02/09(日)21:29 ID:do9MXosP(1/3) AAS
>>485
R
外部リンク:ideone.com
554: 2025/02/09(日)21:31 ID:do9MXosP(2/3) AAS
>>510
C++
外部リンク:ideone.com
>>548からの変更点
・データ構造を単純化したら速くなった
555: 2025/02/09(日)21:35 ID:do9MXosP(3/3) AAS
>>510
外部リンク:ideone.com
>>549の実行速度比較に554を追加。548は不要な2行を削除した。検索文字列が短いのと長いのの両方をテスト。
556: 警備員[Lv.19] 2025/02/10(月)13:21 ID:g+w4FSG9(1) AAS
>>510
Kotlin
出来たことは出来たが、もっと簡単に出来そうな気がしてきた。
外部リンク:paiza.io
557: 2025/02/10(月)21:24 ID:KgR1Tipz(1) AAS
>>485
C# (IEnumerableとして列挙)
外部リンク:ideone.com
558: 2025/02/11(火)03:27 ID:FlAqv/ML(1) AAS
動画再生回数、登録者数、評価数、コメント数
上2桁、下2桁に04、13、40、44、71、74など
(+生年月日、IDの数字など)の組み合わせ
業者による忌み数字、不吉数字の嫌がらせ&精神攻撃がキモすぎ
559: 警備員[Lv.20] 2025/02/11(火)05:48 ID:Y4Uu1QjJ(1/2) AAS
それはお題なのか?それともただの誤爆か?
560: 2025/02/11(火)06:03 ID:h8gYOd9x(1) AAS
糖質でしょ
忌み数字不吉数字とか意味不明なこと言ってるし,それを業者が特定個人を狙って表示する意味も分からんし
561(15): 2025/02/11(火)10:54 ID:E5oVpL7o(1/5) AAS
お題
数列が入力されます
ニ番目に小さい数を出力してください
入力:4, 5, 1, 7, 1, 2, 8, 9, 2, 7
出力:2
562(1): 2025/02/11(火)11:46 ID:A5/Zs5AB(1) AAS
こんちゃ
質問いいでしょうけ
プルダウン(ポップアップ)をUIとしてだすとして
見えている項目名と、実際にパラミータとして出す値を変えたい時はどうしたらよか
563: 9 2025/02/11(火)14:53 ID:mMj2PIa8(1) AAS
>>561 Perl5
$h{$_} = $_ for 4, 5, 1, 7, 1, 2, 8, 9, 2, 7;
@s = sort keys %h;
print "$s[1]\n";
実行結果
~ $ perl 22_561_second.pl
2
Perl5.26以降に付属のList::Utilにはuniq関数があるのでそれを使えば:
use List::Util qw(uniq);
@s = uniq sort 4, 5, 1, 7, 1, 2, 8, 9, 2, 7;
省1
564: 警備員[Lv.20] 2025/02/11(火)16:33 ID:Y4Uu1QjJ(2/2) AAS
>>562
環境や言語やフレームワークを書いて限定しないと色々な環境や言語やフレームワークでの答えが適当に沢山湧いて出て来る可能性あるぞ。
しかも分からない所は適当に解釈してだ。なぜならここはお題スレだから。
565(1): 2025/02/11(火)16:37 ID:WPoAkGuN(1) AAS
>>561 ruby
外部リンク:ideone.com
>>561 octave
外部リンク:ideone.com
>>561 c
外部リンク:ideone.com
566: 2025/02/11(火)16:40 ID:gFwXvlnz(1) AAS
>>561
#!ruby
puts $stdin.gets.chomp.split(",").map{|e| e.to_i}.uniq.sort[1]
567: 2025/02/11(火)17:43 ID:7RexIvi8(1/3) AAS
>>510 lisp
外部リンク:ideone.com
568(1): 2025/02/11(火)17:48 ID:7RexIvi8(2/3) AAS
>>561 lisp
外部リンク:ideone.com
569: 2025/02/11(火)18:19 ID:7RexIvi8(3/3) AAS
>>568
全然だめでした
取りあえずテスト追加済
570(2): 2025/02/11(火)20:45 ID:hMHygfcC(1) AAS
>>561
R
外部リンク:ideone.com
C++
外部リンク:ideone.com
それぞれ3通りの方法で、大きなデータでの実行時間を比較
571(1): 2025/02/11(火)23:21 ID:Vzh5cLYk(1) AAS
数列が入力されるので
整数の数列だけでなく浮動小数点数の数列にも対応してくださいね
ニ番目に小さい数がない時
例えば同じ数しか存在しない時や数列の長さが1の時には
解がないことを返してくださいね
例えばその時にMAX値が返ってきたら失格ですよ
572: 565 2025/02/11(火)23:28 ID:qmej6t15(1) AAS
>>561 ocaml
外部リンク:ideone.com
>>561 java
外部リンク:ideone.com
573: 9 2025/02/11(火)23:36 ID:yxel6cu3(1) AAS
先に言えよって、感じw
574: [age] 2025/02/11(火)23:48 ID:E5oVpL7o(2/5) AAS
>>571は出題者ではないよ
出題者として申し上げるなら>>571は観点がダサい
575: 2025/02/11(火)23:50 ID:HwVbkmdb(1/2) AAS
小数対応はともかく
max値を返してしまう人はプログラマ失格かな
あとsortを使ってしまう人は計算量を知らない初心者
576(1): [age] 2025/02/11(火)23:53 ID:E5oVpL7o(3/5) AAS
そういうこだわりはアスペルガーにしか思えないな、どうでも良いじゃないですかそんなこと
577: [age] 2025/02/11(火)23:56 ID:E5oVpL7o(4/5) AAS
こだわりは自分の胸のうちに留めていただきたい、他人に求めたら回答の幅を狭めるだけ、多様性のある回答こそ美しい
578: 2025/02/11(火)23:57 ID:HwVbkmdb(2/2) AAS
>>576
多くの人はちゃんとnilとかemptyとかNoneなどを返しているよね
プログラマならそこだけは守らなければならない必須事項
579: [age] 2025/02/11(火)23:59 ID:E5oVpL7o(5/5) AAS
だからそういう、こうじゃないとダメだという態度がアスペルガー仕草なんだってばよ、君が思うのは勝手だが他人に求めるものじゃない
580: [age] 2025/02/12(水)00:01 ID:hk2aQo3G(1/3) AAS
プログラミングはもっと自由なものなんだよ、思ったとおりにかけば良い
581: 9 2025/02/12(水)00:03 ID:yw0CaA/O(1/4) AAS
そういう条件は回答を見て思いついた後から言わず先に書くべきでは?
そうでなければ、与えられた短い文とテストデータから、
処理対象データの範囲や要求仕様を読み手が色々解釈しても仕方ないだろ。
後からいろいろ言って批判なんてでもってのほかだと思うが。
582: 9 2025/02/12(水)00:05 ID:yw0CaA/O(2/4) AAS
出来たもの見て実はこういう条件がありましたってケチつけるのはクソクライアントと一緒だな
583(1): 2025/02/12(水)00:13 ID:SJ0T1N6w(1) AAS
ざっと見たけどmax()を返してるのはC++の人だけで他は皆まともだ
普段からまともなコード書いてるかどうかバレてしまうから自由が面白い
584: [age] 2025/02/12(水)00:18 ID:hk2aQo3G(2/3) AAS
好きにしたら良いんやで吉田松陰もそんなこと言ってた気がする
585: [age] 2025/02/12(水)00:20 ID:hk2aQo3G(3/3) AAS
まともとかバレるとかそういう当て擦りの嫌味ったらしい言い方どこで身につけてきたのあんた、母ちゃんは悲しいよ
586: 2025/02/12(水)00:22 ID:Qtl/TEf6(1/2) AAS
>>583
関数がINT_MAXを返すのはまともなコードだろ。2番目に小さい数はINT_MAXではありえないから、
返り値がINT_MAXの場合は「なし」と表示すれば良いだけ。
587: 9 2025/02/12(水)00:28 ID:yw0CaA/O(3/4) AAS
「データが二個未満の場合にはnilを返す。」とか書いとくべき。
でもそういう細かい条件をちまちま指定した窮屈な課題は、つまんなくて回答を造る意欲が減るんだよな。
シンプルで純な課題に対してどういうエレガントでエッセンシャルな回答があるか考えるのが楽しいのであって、
細かいいろんな条件を守る周辺コードで固めるような作業はつまんないから趣味の世界ではやりたくないな
588: 2025/02/12(水)00:31 ID:1WuTe288(1) AAS
普段はプログラム載せるだけだけど、みんな意外と饒舌なんだなw
589: 9 2025/02/12(水)00:33 ID:yw0CaA/O(4/4) AAS
ここはある意味、回答のコードでもって語るスレだからな
590: 2025/02/12(水)00:35 ID:kQv2EDFI(1) AAS
お題にそんな指定ないのに
みんなnilなどを返してるからこのスレの住人たちはセンスいいな
591: 2025/02/12(水)19:12 ID:FZJ50oR3(1) AAS
>>561 lisp (sbcl)
外部リンク:ideone.com
>>561 lisp (clisp)
外部リンク:ideone.com
clispだと何故かsort版の方が速い
592: 2025/02/12(水)20:45 ID:JML0DDov(1) AAS
>>561 ruby
外部リンク:ideone.com
>>561 sqlite
外部リンク:ideone.com
593(2): 2025/02/12(水)22:44 ID:Qtl/TEf6(2/2) AAS
>>561 571
>>570のC++のf3をint型の最大値を含むデータにも対応させた。
C#にはint?型があるのですっきり書けるが、
外部リンク:ideone.com
C++ではまあまあすっきり書くにはintへのポインタを返すしかないか。
外部リンク:ideone.com
(該当値が複数の位置に存在する場合にそれらのうちのどれへのポインタを返すかについては
こだわらないものとする)
594(7): 2025/02/13(木)12:04 ID:KGk2Z9bM(1) AAS
お題:ランダムな数列から任意の並んでいる二つの数同士を足して、その二つの数の間に挿入せよ。
その新しい数が一桁ならそのまま挿入し二桁なら桁同士を足してその二桁の間に挿入せよ。
< 123456789 3 4
> 1237456789
(3+4=7)
< 123456789 6 7
> 123456143789
(6+7=13 1+3=4)
595: 2025/02/13(木)12:31 ID:QhFtS6hw(1) AAS
問題文の記述が下手かよ
596: 2025/02/13(木)13:27 ID:J5YSE8js(1) AAS
>>594 ruby
a=$stdin.gets.chomp.split(" ")
b=a[1].to_i+a[2].to_i
c=(b<9 ? a[1]+b.to_s+a[2] : a[1]+"#{b/10}#{b/10+b%10}#{b%10}"+a[2])
puts a[0].gsub(a[1]+a[2],c)
597: 9 2025/02/13(木)17:35 ID:UAfabByi(1/3) AAS
>>594 Perl5、見易くするためインデントは全角スペースに置換してあります
for (<DATA>) {
($s, $a, $b) = split;
$c = $a + $b;
$c = $1 . ($1 + $2) . $2 if $c =~ /(\d)(\d)/;
$s =~ s/$a$b/$a$c$b/g;
print "$s\n";
}
__DATA__
123456789 3 4
省9
598: 2025/02/13(木)20:12 ID:3SfOseF2(1/2) AAS
>>594
題意が以下の通りだとして、PowerShell (エラーチェックは省略)
自然数x, i, j (i + 1 = jを満たす) が与えられる。xの上i桁目の数字をx[i]で表す。
x[i]とx[j]の和をyとして、
・yが1桁のとき、yをx[i]とx[j]の間に挿入せよ
・yが2桁のとき、y[1]とy[2]の和をy[1]とy[2]の間に挿入してから、yをx[i]とx[j]の間に挿入せよ
function f($x, $i, $j)
{
$s = [string]$x
$y = [int][string]$s[$i - 1] + [int][string]$s[$j - 1]
省15
599(1): 9 2025/02/13(木)20:24 ID:UAfabByi(2/3) AAS
数学屋さんかいなw
i,jの「3 4」とか「6 7」は桁の位置をしていしているのではなく数値列の中にある数字を指定するんジャマイカ
とオレは解釈したが
600: 2025/02/13(木)20:34 ID:3SfOseF2(2/2) AAS
>>599
そうか。だとすれば、
function f($x, $i, $j)
{
$s = [string]$x
$y = $i + $j
if ($y -ge 10) {$y *= 11}
$s -replace "$i$j", "$i$y$j"
}
(123456789, 3, 4), (123456789, 6, 7), (123456789, 8, 9), ("3141592653589793238462643383279502884197169399375105820974944", 9, 7) |% {
省12
601: 2025/02/13(木)20:45 ID:KiG3F5Wd(1) AAS
>>561 c
外部リンク:ideone.com
>>594 ruby
外部リンク:ideone.com
602: 9 2025/02/13(木)20:52 ID:UAfabByi(3/3) AAS
なんでこの人はコーデイングするのがこんなに早いんだろう…
603: 2025/02/13(木)22:58 ID:bC7pFAVH(1/2) AAS
>>594 Rust
fn f(input: &str, a: u32, b:u32) -> String {
let src = format!("{a}{b}");
let dst = if a + b < 10 {
format!("{a}{x}{b}", x = a + b)
} else {
format!("{a}{x}{y}{z}{b}", x = 1, y = 1 + a + b - 10, z = a + b - 10)
};
use itertools::Itertools;
input.split(&src).join(&dst)
省7
604: 2025/02/13(木)23:47 ID:bC7pFAVH(2/2) AAS
>>561 Rust
fn second_smallest<T: Copy + Ord>(input: &[T]) -> Option<T> {
use std::cmp::Ordering::{Equal, Greater, Less};
input
.iter()
.copied()
.fold(None, |state, t| match state {
Some((_t0, Some(t1))) if t >= t1 => state,
Some((t0, _)) => match Ord::cmp(&t, &t0) {
Less => Some((t, Some(t0))),
省12
605: 2025/02/14(金)17:55 ID:L6dJMbYJ(1) AAS
わけがわからん
アセンブラじゃあるまいし
606(1): 2025/02/14(金)18:42 ID:RXjqXFcF(1) AAS
わからないのはどのへんなんだろう?
・型がジェネリックになっている点
・代入文がないなど関数型プログラミングになっている点
・パターンマッチングが使われている点
いずれも最近は対応している言語が増えてるような
上下前次1-新書関写板覧索設栞歴
あと 278 レスあります
スレ情報 赤レス抽出 画像レス抽出 歴の未読スレ AAサムネイル
ぬこの手 ぬこTOP 0.038s